当尝试使用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安装依赖项。

其他回答

最后,我找到了答案。试试这个命令-

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

此处描述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

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

在使用npm 7时,这种情况经常出现,因为对等依赖问题在版本7中被视为错误,而在版本6中通常只是警告。通常使用——legacy-peer-deps可以让它在npm 7中工作。

当这不起作用时,一个选择是降级到npm 6。降级Node.js是没有必要的(但也没有害处)。相关的依赖管理代码在npm中。降级Node.js通常是巧合,因为这样做通常也会降级npm。

另一个比降级npm破坏性更小的选择是使用npx来使用之前版本的npm的install命令:npx -p npm@6 npm install

当所有这些都失败时,通常值得尝试删除node_modules目录和包锁。Json,然后再次运行NPM install。这会重新生成node_modules和package-lock.json。