每个模块的“node_modules”中重复的模块

时间:2013-10-15 11:11:05

标签: node.js npm

我如何解决每个模块需要的重复模块的问题?我有3个模块,它们在自己的“node_modules”中有请求模块,每个模块都有不同的版本。

也许使用npm install -g,npm只下载一个。

但如果我使用它,对所有人来说都是一样的,也许会对正确使用版本产生问题,或者不会。

NPM解决了这个问题?在node_modules的全局文件夹中创建版本的diferents文件夹? 感谢。

2 个答案:

答案 0 :(得分:2)

npm有一个实验性(!)功能:

npm dedupe

(请参阅npm help dedupe获取解释)

答案 1 :(得分:0)

这正是NPM的设计方式。

这背后的想法是每个模块都是自包含的,这意味着它们不应该依赖于更高的依赖性,它需要的一切都在它的目录中。
想象一下以下场景:

  • A取决于B,版本范围1.3.x
  • C取决于B,最低版本2.1.0

如果NPM没有按原样设计,处理这种情况并不是一件容易的事。

此外,您不能require()全局模块。

但是,您可以尝试使用npm dedupe命令减少模块的重复 - 它将尝试为您简化复杂的模块树。