当尝试使用npm i命令安装npm包时,我得到了以下异常:
我尝试重新安装Node.js包,并使用以下方法将代理设置为关闭:
set HTTP_PROXY=
set HTTPS_PROXY=
问题仍然存在。我哪里做错了?
更新:
执行以下命令时:
npm install --legacy-peer-deps
系统显示如下错误:
当尝试使用npm i命令安装npm包时,我得到了以下异常:
我尝试重新安装Node.js包,并使用以下方法将代理设置为关闭:
set HTTP_PROXY=
set HTTPS_PROXY=
问题仍然存在。我哪里做错了?
更新:
执行以下命令时:
npm install --legacy-peer-deps
系统显示如下错误:
当前回答
该问题与依赖冲突或破坏的依赖有关。您可以通过强制安装来接受依赖项的错误。
解决方案:使用命令——force。
你的命令应该像npm install——force @your-npm-package。
注意:如果在yarn包管理器中安装依赖项可用,则可以使用yarn安装依赖项。
其他回答
这是Node.js版本的问题。一些最新版本的Node.js可能会显示类似的错误。
https://github.com/nvm-sh/nvm
我使用NVM来管理系统上的Node.js版本,并使用Node.js 12来克服这个错误。
修改版本命令:
nvm use 12
某些包在更新到npm 7后会出现这种情况。
参数——legacy-peer-deps可以帮助:
npm i --legacy-peer-deps
此处描述legacy-peer-deps
导致npm在构建peerDependencies时完全忽略 包树,如NPM版本3到6。 如果一个包因为过于严格而无法安装 碰撞的peerDependencies,它提供了一种前进的方式 解决问题。 ...
你可以在默认情况下将这个选项设置为true (npm不推荐):
npm config set legacy-peer-deps true
或者只是等待,直到这些软件包更新。
这对我来说很管用:
npm install --save --legacy-peer-deps
试试这个命令-
npm install --save --legacy-peer-deps
重置package-lock。Json一直都很适合我:
git checkout -- package-lock.json
细节: 在更新遗留项目的所有包时,我经常遇到这种情况——我强烈不建议使用npm审计fix或npm I——force。删除包锁。Json也并不总是适用于我。回滚到包的工作版本。Json +包锁。Json和添加包对我来说是最安全、最快的变体。