当尝试使用npm i命令安装npm包时,我得到了以下异常:

我尝试重新安装Node.js包,并使用以下方法将代理设置为关闭:

set HTTP_PROXY=
set HTTPS_PROXY=

问题仍然存在。我哪里做错了?

更新:

执行以下命令时:

npm install --legacy-peer-deps

系统显示如下错误:


当前回答

您可以使用显示此错误的两种方式安装包

ERESOLVE unable to resolve dependency tree

使用npm Install并使用——legacy-peer-deps安装包

npm install --save --legacy-peer-deps

这是两个命令的组合 a.在npm config中设置legacy-peer-deps为true NPM配置设置为true b.现在使用npm install安装包 npm安装

其他回答

把Node.js降级到v14适合我。

使用这些命令:

source ~/.bash_profile
nvm use v14.16.1
npm install

在我的例子中,我从版本6升级到版本7后开始得到错误(如下所示)。

npm犯错!ERR!无法解析依赖项 树 ... npm犯错!修复上游依赖项冲突,或使用——force或——legacy-peer-deps重试此命令,以接受错误的(可能损坏的)依赖项解决方案。

在我的例子中,使用——legacy-peer-deps或——force标志进行编译会导致一个无用的包。

所以我试着删除node_modules, package-lock。Json和bundle使用yarn install。这就产生了纱线。锁定文件和创建的包锁。Json,在后续的NPM运行中工作良好。

附注:我正在使用临时的解决方法,直到npm 7对我的项目起作用:在那之后,我将删除yarn。锁,package-lock。Json和node_modules文件夹,然后用NPM重新编译

rm -rf node_modules
rm package-lock.json
yarn install
# Generates a yarn.lock file and a new package-lock.json

# Continue with npm
npm start

如果它可以帮助某人,我得到这个错误,在GitHub操作,同时推送我更新的包和包锁JSON文件,

问题在于我们内部的NPM包不一致。 我必须补充一点

legacy-peer-deps=true

在我们的

npmrc。

文件来覆盖依赖项。

所以我觉得有时候最好使用legacy-peer-deps来覆盖项目包中不需要的依赖项

某些包在更新到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

或者只是等待,直到这些软件包更新。

我只是更新了我的Node.js,它为我工作:

node -v

输出:

V xxxx

And:

sudo npm install -g n

(使用此命令安装稳定节点release)

sudo n stable