npm 节点V18发生冲突的对等依赖关系错误

pkbketx9  于 2023-01-02  发布在  其他
关注(0)|答案(2)|浏览(167)

有人知道这个错误是关于什么的吗?我只是简单地尝试安装任何依赖项,这总是弹出这些天。我不知道发生了什么。

npm ERR!       1 more (the root project)
npm ERR!     peer @angular/platform-browser@"13.2.4" from @angular/platform-browser-dynamic@13.2.4
npm ERR!     node_modules/@angular/platform-browser-dynamic
npm ERR!       peer @angular/platform-browser-dynamic@">=10.0.0" from jest-preset-angular@11.1.1
npm ERR!       node_modules/jest-preset-angular
npm ERR!         dev jest-preset-angular@"11.1.1" from the root project
npm ERR!       1 more (the root project)
npm ERR!     2 more (@angular/router, the root project)
npm ERR!   7 more (@angular/platform-browser-dynamic, @angular/router, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @angular/common@"^6.0.0 || ^7.0.0 || ^8.0.0" from @agm/core@1.1.0
npm ERR! node_modules/@agm/core
npm ERR!   @agm/core@"^1.1.0" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: @angular/common@8.2.14
npm ERR! node_modules/@angular/common
npm ERR!   peer @angular/common@"^6.0.0 || ^7.0.0 || ^8.0.0" from @agm/core@1.1.0
npm ERR!   node_modules/@agm/core
npm ERR!     @agm/core@"^1.1.0" from the root project
npm ERR!
npm ERR! 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 ERR!
npm ERR! See XXXXXXX\npm-cache\eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:

我真的很感谢你的帮助

laximzn5

laximzn51#

@agm/core未维护,自2020年7月起未更新。
你有两种可能性:

  • 试试你的运气,用--force强制安装,并测试它是否仍然工作。
  • 选择另一个仍在维护的库。
nqwrtyyt

nqwrtyyt2#

如果您从以前的节点版本切换到node18,请首先清理您的环境。

rm -rf node_modules
rm package-lock.json // or yarn.lock if you are using yarn
npm cache verify
npm i

如果错误仍然存在,则说明您正在使用的某些模块或某些节点模块的依赖项与node18不兼容。
在这种情况下,你可以分析错误来自哪里,并尝试不同的版本。但通常这会让你陷入更多的问题,如旧的或不赞成的版本。
一个好但耗时的方法是:
1.创建一个新的空的Angular 项目。它将正确安装所有需要的和工作的Angular 模块。
1.将旧项目中的代码移到新项目中,而不使用package.json
1.重新安装所有不带版本的节点模块。如果出现错误,请记住模块。
1.如果某些模块出现错误,请研究是否存在已知问题。
1.如果没有解决方案似乎是存在的,(应该只有旧的,而不是更新模块),看看你如何可以取代他们。
1.很有可能在较新的模块中,有一些破坏性的更改,您的代码将不会被执行。(例如,方法名更改,方法被删除)
升级到一个新的节点版本有时真的压力很大。

相关问题