Angular 17.0.X 更新到 17.3.3 失败 - 依赖项问题

问题描述 投票:0回答:1

我们有一个 Angular 应用程序,已升级到 17.0.X,现在我们希望让它运行到撰写本文时的最新版本 - 17.3.X。我们已经更新了依赖项,但我们发现传递依赖项被拉取时出现了奇怪的问题。

升级前

package.json
:

{
  "name": "ui",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^17.0.5",
    "@angular/cdk": "^17.0.2",
    "@angular/common": "^17.0.5",
    "@angular/compiler": "^17.0.5",
    "@angular/core": "^17.0.5",
    "@angular/forms": "^17.0.5",
    "@angular/localize": "^17.0.5",
    "@angular/material": "^17.0.2",
    "@angular/material-moment-adapter": "^17.0.2",
    "@angular/platform-browser": "^17.0.5",
    "@angular/platform-browser-dynamic": "^17.0.5",
    "@angular/router": "^17.0.5",
    "@ngx-dropzone/cdk": "^17.1.0",
    "@ngx-dropzone/material": "^17.1.0",
    "chart.js": "^4.2.0",
    "file-saver": "^2.0.5",
    "jwt-decode": "^3.0.0",
    "moment-timezone": "^0.5.33",
    "ng2-charts": "^4.1.1",
    "ngx-mat-select-search": "^7.0.5",
    "ngx-mat-timepicker": "^17.0.1",
    "ol": "^7.4.0",
    "rxjs": "^7.8.1",
    "tslib": "^2.0.0",
    "uuid": "^8.2.0",
    "vis-data": "^7.1.9",
    "vis-timeline": "^7.7.3",
    "vis-util": "^5.0.7",
    "zone.js": "^0.14.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^17.0.5",
    "@angular/cli": "^17.0.5",
    "@angular/compiler-cli": "^17.0.5",
    "@types/jasmine": "~5.1.4",
    "@types/jasminewd2": "~2.0.13",
    "@types/node": "^20.10.2",
    "codelyzer": "^6.0.2",
    "jasmine-core": "~5.1.1",
    "jasmine-spec-reporter": "~7.0.0",
    "karma": "~6.4.2",
    "karma-chrome-launcher": "~3.2.0",
    "karma-coverage-istanbul-reporter": "~3.0.3",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "^2.1.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "5.2.2"
  }
}

升级后

package.json
:

{
  "name": "ui",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^17.3.3",
    "@angular/cdk": "^17.3.3",
    "@angular/common": "^17.3.3",
    "@angular/compiler": "^17.3.3",
    "@angular/core": "^17.3.3",
    "@angular/forms": "^17.3.3",
    "@angular/localize": "^17.3.3",
    "@angular/material": "^17.3.3",
    "@angular/material-moment-adapter": "^17.3.3",
    "@angular/platform-browser": "^17.3.3",
    "@angular/platform-browser-dynamic": "^17.3.3",
    "@angular/router": "^17.3.3",
    "@ngx-dropzone/cdk": "^17.3.0",
    "@ngx-dropzone/material": "^17.3.0",
    "chart.js": "^4.2.0",
    "file-saver": "^2.0.5",
    "jwt-decode": "^3.0.0",
    "moment-timezone": "^0.5.33",
    "ng2-charts": "^4.1.1",
    "ngx-mat-select-search": "^7.0.5",
    "ngx-mat-timepicker": "^17.1.0",
    "ol": "^7.4.0",
    "rxjs": "^7.8.1",
    "tslib": "^2.0.0",
    "uuid": "^8.2.0",
    "vis-data": "^7.1.9",
    "vis-timeline": "^7.7.3",
    "vis-util": "^5.0.7",
    "zone.js": "^0.14.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^17.3.3",
    "@angular/cli": "^17.3.3",
    "@angular/compiler-cli": "^17.3.3",
    "@types/jasmine": "~5.1.4",
    "@types/jasminewd2": "~2.0.13",
    "@types/node": "^20.10.2",
    "codelyzer": "^6.0.2",
    "jasmine-core": "~5.1.1",
    "jasmine-spec-reporter": "~7.0.0",
    "karma": "~6.4.2",
    "karma-chrome-launcher": "~3.2.0",
    "karma-coverage-istanbul-reporter": "~3.0.3",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "^2.1.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "5.2.2"
  }
}

我们得到的错误是

'Log files:
C:\Users\user\AppData\Local\npm-cache\_logs\2024-04-09T17_39_16_916Z-debug-0.log

# npm resolution error report

While resolving: [email protected]
Found: @angular-devkit/[email protected]
node_modules/@angular-devkit/build-angular
  dev @angular-devkit/build-angular@"^17.3.3" from the root project

Could not resolve dependency:
dev @angular-devkit/build-angular@"^17.3.3" from the root project

Conflicting peer dependency: @angular/[email protected]
node_modules/@angular/compiler
  peer @angular/compiler@"17.3.3" from @angular/[email protected]
  node_modules/@angular/localize
    @angular/localize@"^17.3.3" from the root project
    peerOptional @angular/localize@"^17.0.0" from @angular-devkit/[email protected]
    node_modules/@angular-devkit/build-angular
      dev @angular-devkit/build-angular@"^17.3.3" from the root project

Fix the upstream dependency conflict, or retry
this command with --force or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.
angular angular-cli angular-devkit
1个回答
0
投票

您的版本似乎是正确的。尝试删除 node_modules 文件夹并再次运行 npm install 。 您也可以尝试使用标志 --legacy-peer-deps,但这不是必需的

© www.soinside.com 2019 - 2024. All rights reserved.