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