Npm 安装同一软件包的多个版本
我在1.5.11版本的依赖项中有Npm 安装同一软件包的多个版本,npm,yarnpkg,Npm,Yarnpkg,我在1.5.11版本的依赖项中有angular: { "dependencies": { "angular": "1.5.11", "angular-foundation": "0.7.0" } } angular foundation恰好依赖于angular@>=1.3.0 为什么纱线安装angular@1.6.9作为angular foundation的嵌套依赖项,而不是使用项目的版本?这会导致angular在应用程序中存在两次,并且无法正常
angular
:
{
"dependencies": {
"angular": "1.5.11",
"angular-foundation": "0.7.0"
}
}
angular foundation
恰好依赖于angular@>=1.3.0
为什么纱线安装angular@1.6.9
作为angular foundation的嵌套依赖项,而不是使用项目的版本?这会导致angular在应用程序中存在两次,并且无法正常工作:
node\u模块
角度(1.5.11)
角形基础(0.7.0)
节点单元
角度(1.6.9)
这种情况不会发生在任何人身上npm@5.6.0-npm对应用程序和软件包都使用1.5.11。为此,您需要使用
纱线分辨率
因此,您的package.json
将变成这样
{
"name": "depdencies",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"angular": "1.5.11",
"angular-foundation": "0.7.0"
},
"resolutions": {
"**/angular": "1.5.11"
}
}
它告诉warn
任何子级角度相关性都将设置为1.5.11
。更新后,请在下面运行
$ rm yarn.lock
$ yarn
纱线添加@npm:
纱线添加react17@npm:react@17
请在您的答案中添加一些解释。解释在这里