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

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

set HTTP_PROXY=
set HTTPS_PROXY=

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

更新:

执行以下命令时:

npm install --legacy-peer-deps

系统显示如下错误:


当前回答

这对我来说很管用:

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

其他回答

尝试删除节点模块和包锁。Json文件,运行命令NPM install 或 试试npm cache clean——force

这与HTTP代理无关。

正如上面所说,您存在依赖冲突(不正确且可能被破坏的依赖),因此尝试使用——force或——legacy-peer-deps运行该命令。如果它不生效,临时解决方案是使用以前版本的Node.js(降低Node.js版本),因为它有时会导致这种错误发生。

根据OP的更新更新:

如你所见,它触发了以下错误:

@angular/http@^9.1.4没有找到匹配的版本。

看看angular/http页面。请注意,该已弃用包的最新版本是7.2.16,而您请求的是更高版本(例如,^9.1.4)!因此,请尝试检查项目依赖关系,并根据所提出的错误来解决问题。

这是Node.js版本的问题。一些最新版本的Node.js可能会显示类似的错误。

https://github.com/nvm-sh/nvm

我使用NVM来管理系统上的Node.js版本,并使用Node.js 12来克服这个错误。

修改版本命令:

nvm use 12

首先我尝试了

npm install

它给了我一个错误,无法解决依赖树,根据这个命令的帮助信息,

Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

我尝试了这个命令:

npm install --legacy-peer-deps

这解决了我的问题。

除了使用——legacy-peer-deps命令行选项外,还可以将其永久地设置为配置选项:

npm config set legacy-peer-deps true