安装 npm 包时无法解决 Angular 中的依赖树错误

转载:https://www.angularjswiki.com/angular/unable-to-resolve-dependency-tree-error-in-angular-while-installing-npm-packages/

修复 Unable to resolve dependency tree error in Angular

要在安装包时修复Unable to resolve dependency tree error in Angular,npm请按照以下步骤操作。

  1. 运行npm install --save --legacy-peer-deps而不是npm install命令。
  2. 另一种方法是删除node_modules文件夹和package_lock.json文件,然后 在命令npm cache clean --force后运行npm i --force

--force这是一个依赖冲突(不正确且可能破坏的依赖)错误,因此使用或标志运行命令--legacy-peer-deps

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

or 

npm cache clean --force
npm i --force

另一个临时解决方案是使用以前版本的Node.js或降级npm

将标志设置--legacy-peer-deps为始终为真

而不是--legacy-peer-deps每次都传递标志,我们可以将npm配置设置为true.

npm config set legacy-peer-deps true

然后清理cache并运行npm install

npm cache clean --force

npm install

npm install如果间接运行(即通过脚本),这是最佳选择。

降级 npm 版本

使用 npm 7 时,Unable to resolve dependency tree errors会出现很多问题,因为对等依赖性问题在版本 7 中被视为错误。

但这些错误在版本 6 中只是警告。

因此,要解决此错误,请在 npm 7 版本中将--legacy-peer-deps标志设置为true

如果上述配置不起作用,请将 npm 7 降级到 npm 6。

降级Node.js是没有必要的。

因为相关的依赖管理代码在npm.

降级Node.js通常会自动进行,因为这样做也会降级npm

而不是降级npmnpx使用以前版本的npm安装命令,如下所示。

npx -p npm@6 npm install

是什么Unable to resolve dependency tree error

unable to resolve dependency tree这是Angular 中的示例错误。

npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: project-admin@11.0.0
npm ERR! Found: @angular/common@11.0.3
npm ERR! node_modules/@angular/common
npm ERR!   @angular/common@"11.0.3" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @angular/common@"^9.1.0 || ^10.0.0" from @agm/core@3.0.0-beta.0
npm ERR! node_modules/@agm/core
npm ERR!   @agm/core@"3.0.0-beta.0" from the root project

首先,我们将了解问题。

在上面的错误中@agm/core@3.0.0-beta.0需要@angular/common version ^9.1.0 or ^10.0.0

和实际@angular/common版本 11.0.3。

问题在于对等依赖性。

所以解决办法就是降级@angular/common这是不可取的。

因此,使用遗留依赖逻辑来使用--legacy-peer-deps.

并自动安装遗留对等依赖项将 npm 配置设置--legacy-peer-deps为 true。

npm config set legacy-peer-deps true
posted @ 2023-03-23 15:16  月亮那么僵  阅读(185)  评论(0编辑  收藏  举报