npm3 如何决定安装扁平还是嵌套?

2024-05-24

我的项目依赖于 Angular2 beta.6,另一个项目依赖于 Angular2 beta.0。

我的项目的 package.json

"dependencies": {
    "angular2": "2.0.0-beta.6",
    "another-project": "0.0.1"
}

另一个项目的 package.json

"dependencies": {
    "angular2": "2.0.0-beta.0",
}

When I npm install我的项目,它安装了angular2 twice:

  1. node_modules/angular2(测试版6)
  2. node_modules/another-project/angular2(测试版.0)

尝试了解 npm3 如何决定嵌套 angular2 beta.0。是否因为两者都称为 angular2,因此它们不能同时位于顶层?


尝试了解 npm3 如何决定嵌套 angular2 beta.0。是否因为两者都称为 angular2,因此它们不能同时位于顶层?

是的,这是正确的。节点代码require是一个按名称命名的模块,使用如下代码:

require('angular2');

节点本身不知道不同的版本,这是npm,所以它只是首先使用 require 路径中匹配的任何模块,依赖于匹配的目录名称。

npm当发生冲突时,通过在每个模块的目录中安装特定版本来适应这一点,以便 require 路径将首先包含该版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

npm3 如何决定安装扁平还是嵌套? 的相关文章

随机推荐