在 npm install 安装依赖时,始终出现node_modules 中 no such file or directory,经过切换 node 版本、删除重新 install 等操作后,不能解决问题。
经过排查,发现是 npm workspaces 配置出现问题。在 npm 7.x 以上版本中,npm install 时会检查 package.json 中的’workspaces’字段,并将其中的子项目链接到 node_modules 中,相当于自动的 npm link。此时,若子项目未预先编译,则会缺失入口文件,即会报错 no such file or directory。
因此,先正确编译子项目,或删除 package.json 中 workspaces 的配置,即可解决问题。
npm workspaces 的文档 ,npm workspaces 适合用于在本地开发多个包。