安装npm包时出现无法解析依赖树的错误

720

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

图片描述

我已尝试重新安装Node.js软件包并通过以下方式关闭代理:

set HTTP_PROXY=
set HTTPS_PROXY=
问题依然存在。我做错了什么吗? 更新: 当我运行以下命令时:
npm install --legacy-peer-deps
以下错误显示:

在此输入图片描述


5
请展示你的package.json文件 - 看起来你已经升级了@angular/core,但没有升级@angular/http? - Adam Jenkins
package-lock.json文件不可用。是的,我已经尝试删除node_modules,但没有成功。 - Pearl
1
这个问题还在发生吗?你能分享一下 package.json 文件吗? - Supun Praneeth
这个问题解决了吗?如果是的话,如果任何答案对您有帮助,请将其中一个标记为“已接受”。否则,如果您需要更多澄清,请告诉我们。 - Eliezer Berlin
对我来说,由于我有备份,所以我删除了本地仓库并进行了全新的拉取,然后再次尝试 npm install,这对我起作用了。 - Huzaifa
显示剩余7条评论
37个回答

0
在我的情况下,我遇到了一个问题,那就是依赖于@babel/core的包,但我不想使用--force,因为我不确定后果如何,所以我去https://www.npmjs.com/,查找了该包并将旧版本替换为最新版本。这样做解决了问题。

0

以防万一,当我尝试从之前的ng new升级我的当前基于Angular 11.x的样板文件或者创建新的基于Angular 12.x的ng new abc时,我遇到了类似的问题。我只是忘记升级Angular CLI了。所以这个npm install -g @angular/cli@latest解决了我在ng new abc期间遇到的错误。


0

每次重置package-lock.json都对我很有效:

git checkout -- package-lock.json

细节: 在更新旧项目的所有包时,我经常遇到这种情况 - 我强烈不建议使用npm audit fixnpm i --force。删除package-lock.json也并不总是有效。对于我来说,回滚到工作版本的package.json + package-lock.json并添加所需的包是最安全和最快的选择。


0
在Win 10上,使用npm 8.19.3版本,我所做的只是先移除导致问题的包(在我的情况下是@angular/material),然后更新我的angular版本(使用ng update @angular/cli命令),然后安装我的包,一切都顺利进行。
问题是,我的angular版本是15.x,而npm install @angular/material尝试安装的是16.x版本,这导致了依赖关系问题。

0

降级 Node.js 是在系统上安装先前版本的 Node.js 软件的过程。如果您与较新版本的 Node.js 存在兼容性问题,或者想使用您已经熟悉的 Node.js 版本,则降级到版本 14 可能会很有用。将 Node.js 降级到版本 14 的步骤如下:

  1. 获取 bash 配置文件:在降级 Node.js 之前,您需要确保已设置必要的环境变量。第一步是使用以下命令获取 bash 配置文件:

source ~/.bash_profile

  1. 使用 nvm 切换到版本 14:下一步是使用 Node 版本管理器(nvm)切换到 Node.js 的 14 版本。您可以使用以下命令来执行此操作:

nvm use v14.16.1

请注意,版本号 v14.16.1 仅为示例。您可以使用您系统上已安装的任何其他 Node.js v14 版本号。

  1. 安装npm:最后,您需要安装Node Package Manager(npm),以便在Node.js项目中管理软件包和依赖项。您可以使用以下命令来执行此操作:

npm install

运行这些命令后,您的系统应该已经安装了Node.js v14,并且您可以开始使用它来构建应用程序。


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

0
删除 node_modules 文件夹对我有帮助,之后我运行了命令 npm i --force

-4

Yarn有一个解决这个问题的功能。如果可以的话,尝试使用它来安装包。


6
你能说明是哪个功能吗? - MilosMarkoni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接