我的项目依赖于 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:
-
node_modules/angular2
(测试版6)
-
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(使用前将#替换为@)