如何修复 ERESOLVE 无法解析 npm install 的依赖关系树

我目前对角度和自学还比较陌生。以前一切都很好,直到我决定将很多新东西导入我的项目。简而言之,我发现我可以删除 node_modules 并运行 npm install。删除它后,当我运行 npm install 时出现以下错误。

npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: appla-katta@0.0.0
npm ERR! Found: @angular/common@12.2.16
npm ERR! node_modules/@angular/common
npm ERR!   @angular/common@"~12.2.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @angular/common@"^14.0.0 || ^15.0.0" from @angular/cdk@14.0.2
npm ERR! node_modules/@angular/cdk
npm ERR!   @angular/cdk@"14.0.2" 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 C:UserskavisAppDataLocalnpm-cacheeresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:UserskavisAppDataLocalnpm-cache_logs2022-06-20T10_45_13_413Z-debug-0.log

我不确定错误是什么意思,但我认为我有不同的版本,因为我猜是存在依赖错误。我尝试运行 npm install @angular/cdk@latestng update @angular/common 但没有结果。我什至找到了更多解决方案,例如删除节点模块和 package_lock.json 但 npm install 不起作用。

我试图强制 npm 安装,但由于其他原因我的项目没有运行,所以我希望自己解决这里的错误

谢谢

下面是我的 package.json 内容

{
  "name": "appla-katta",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "node build && firebase deploy",
    "watch": "ng build --watch --configuration development",
    "test": "ng test"
  },

  "private": true,
  "dependencies": {
    "@angular/animations": "~12.2.0",
    "@angular/cdk": "^13.3.2",
    "@angular/common": "~12.2.0",
    "@angular/compiler": "~12.2.0",
    "@angular/core": "~12.2.0",
    "@angular/fire": "github:angular/fire",
    "@angular/flex-layout": "^13.0.0-beta.38",
    "@angular/forms": "~12.2.0",
    "@angular/material": "^13.3.2",
    "@angular/platform-browser": "~12.2.0",
    "@angular/platform-browser-dynamic": "~12.2.0",
    "@angular/router": "~12.2.0",
    "@auth0/auth0-angular": "^1.9.0",
    "@fortawesome/fontawesome-free": "^6.1.1",
    "angularfire2": "^5.4.2",
    "bootstrap": "^5.1.3",
    "cors": "^2.8.5",
    "firebase": "^7.24.0",
    "json-server": "^0.17.0",
    "rxjs": "~6.6.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~12.2.7",
    "@angular/cli": "~12.2.7",
    "@angular/compiler-cli": "~12.2.0",
    "@types/jasmine": "~3.8.0",
    "@types/node": "^12.11.1",
    "jasmine-core": "~3.8.0",
    "karma": "~6.3.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "~1.7.0",
    "typescript": "~4.3.5"
  }
}

另外,我有 package-lock.json ,现在我已经删除了。

stack overflow How can I fix ERESOLVE unable to resolve dependency tree for npm install
原文答案

答案:

作者头像

删除 node_modulespackage-lock.json

然后试试这个:

npm install --legacy-peer-deps