2

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

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

4

1 回答 1

2

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

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

于 2015-11-18T09:22:28.653 回答