在 npm 3.3.12(节点 4.2.2)上,发生以下事情:
我npm install
在一个项目中运行,其中我的项目中的依赖项之一也是其他依赖项之一的依赖项。例如:
- 我的项目依赖于 PackageA 和 PackageB
- PackageA 也依赖于 PackageB
- 我的项目和 PackageA 都依赖于 PackageB 的相同版本
然后,我运行npm update
我的项目。NPM 输出列出:
PackageB@x.x.x node_modules/PackageB -> node_modules/PackageA/node_modules/PackageB
所以突然PackageB不在我的项目的node_modules中(仅在PackageA下的node_modules中)并且项目文件中的require(“PackageB”)失败了。
是什么原因造成的,我怎样才能最好地避免这个问题?