我意识到npm不再安装对等依赖项,但是当我进行手动安装时,为什么还会收到警告?
➜ npm install babel-runtime -g
/usr/local/lib
└─┬ babel-runtime@6.6.1
└── core-js@2.2.1
➜ npm install babel-preset-es2016 -g
/usr/local/lib
├── babel-preset-es2016@6.0.8
└── UNMET PEER DEPENDENCY babel-runtime@^6.6.1
npm WARN babel-preset-es2016@6.0.8 requires a peer of babel-runtime@^6.6.1 but none was installed.
修改
如果我在本地安装(根据以下建议),我不会收到警告:
➜ test npm i babel-runtime@\^6.6.1
test@1.0.0 /home/jdifool/work/test
├── babel-preset-es2016@6.0.8
├── babel-runtime@6.6.1
└─┬ babelify@7.2.0
└─┬ babel-core@6.7.4
├─┬ babel-code-frame@6.7.4
│ └── babel-runtime@5.8.38
├─┬ babel-generator@6.7.2
│ └── babel-runtime@5.8.38
├─┬ babel-helpers@6.6.0
│ └── babel-runtime@5.8.38
├─┬ babel-messages@6.7.2
│ └── babel-runtime@5.8.38
├─┬ babel-register@6.7.2
│ └─┬ babel-runtime@5.8.38
│ └── core-js@1.2.6
├── babel-runtime@5.8.38
├─┬ babel-template@6.7.0
│ └── babel-runtime@5.8.38
├─┬ babel-traverse@6.7.4
│ └── babel-runtime@5.8.38
├─┬ babel-types@6.7.2
│ └── babel-runtime@5.8.38
└─┬ babylon@6.7.0
└── babel-runtime@5.8.38
为什么?
答案 0 :(得分:3)
非常冗长。只需安装所需的包
即可$ npm i babel-runtime@^6.6.1 -g
在全局范围内安装,因为您的预设也在全局范围内,然后重试。
更新(由@JohnDifool提供): 似乎警告仅显示全局安装。
答案 1 :(得分:1)
当我遇到这个问题时,它通过更新npm,清除npm缓存,然后再次运行npm install
命令来解决。但是,我将详细介绍一直存在的问题。
首先,我尝试使用npm update -g npm
更新npm,但这引发了错误:
npm ERR! addLocal Could not install /private/var/folders/_n/vgvdlrpj64l_g98d_dxs5pd40000gp/T/npm.80873/package
我可以使用命令npm install -g npm@latest
代替as suggested by GitHub user bronzeiii成功更新。
npm install
rm -rf node_modules
npm cache clean
npm install