如果我有这样的NPM 7 工作区:
root
- submodule0
- submodule1
- submodule2
Run Code Online (Sandbox Code Playgroud)
我导航到 submodule0 目录并运行npm i somepackage它似乎通过在 submodule0 目录中创建一个新的 package-lock.json 并在那里安装所有依赖项来“破坏”工作区。换句话说,它只是执行我创建工作区之前存在的旧行为。我希望有一个类似于lerna的命令,我可以在那里从root中的 submodule0 中安装一个新包。就像是:
npm i somepackage --scope submodule0
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能找到的唯一解决方法是编辑 submodule0 package.json 并somepackage手动添加。然后npm i从根运行。显然这并不理想,因为我需要查找@latest 版本,导航到子目录,打开 package.json 等,而不是仅在根目录中键入一行。