依赖共享的 NPM 依赖

NPM dependencies shared by dependencies

在 npm 3.3.12(节点 4.2.2)上,发生以下情况:

我 运行 npm install 在一个项目中,我的项目中的一个依赖项也是其他依赖项之一的依赖项。例如:

然后,我 运行 npm update 在我的项目中。 NPM 输出列表:

PackageB@x.x.x node_modules/PackageB -> node_modules/PackageA/node_modules/PackageB

然后突然PackageB不在我项目的node_modules中(仅在PackageA下的node_modules中)并且项目文件中的require("PackageB")失败。

是什么原因造成的,我怎样才能最好地避免这个问题?

这是一个错误,已在 NPM 3.4.1 中修复:

https://github.com/npm/npm/issues/10446