依赖项共享的NPM依赖项

时间:2015-11-17 06:59:58

标签: node.js npm dependencies npm-install

在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”)失败。

造成这种情况的原因是什么?如何才能最好地避免这个问题呢?

1 个答案:

答案 0 :(得分:2)

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

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