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

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

set HTTP_PROXY=
set HTTPS_PROXY=

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

更新:

执行以下命令时:

npm install --legacy-peer-deps

系统显示如下错误:


当前回答

在我的例子中,我遇到了@babel/core依赖的问题,但我不想使用——force,因为我不确定后果,所以我去https://www.npmjs.com/,寻找包并用最新的包替换了我的旧版本。这就成功了。

其他回答

以防万一,当我尝试npm升级当前的Angular 11时,我确实有类似的行为。或者基于Angular 12.x创建新的ng new abc。我只是忘了升级Angular CLI。所以这个npm install -g @angular/cli@latest解决了我在ng new abc期间的错误。

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

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

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

npm config set legacy-peer-deps true

NPM可用于在项目中安装和管理依赖项的版本。

我在React版本和npm版本上也遇到了同样的问题:

NPM错误发现类型/react@16.14.20

因此,它可能是需要根据您的包安装的包版本。json文件。

它会在npm 7版本中给出错误,并且无法安装Node.js模块。

如果你将npm版本降级到6,这些问题将变成警告,问题将得到解决。

试着证明这个命令:npm install -g npm@6 检查版本是否已经安装:npm——version 删除并安装node_modules包: a)删除rm -rf node_modules b)安装:npm i

如果你有node_modules文件夹和package-lock。Json文件在你的根目录,然后删除这些: Rm -r node_modules rm package-lock.json 然后执行如下命令: NPM install——save——legacy-peer-deps NPM审计修复——强制 在根目录下创建.env文件,并粘贴以下代码: SKIP_PREFLIGHT_CHECK = true 现在,开始你的项目: npm开始