迁移失败:发现不兼容的对等依赖项

Ted*_*oko 5 npm typescript ng-upgrade angular9

我是 Angular 新手,尝试从 9.0.0 升级到 9.1.11,以将我的打字稿升级为3.7.5 to 3.8在我的应用程序中使用国家/地区地图插件。

\n

当我运行命令时ng update @angular/cli@9.1 @angular/core@9.1我得到了

\n
Using package manager: 'npm' Collecting installed dependencies... Found 68 dependencies. Fetching dependency metadata from registry...\n                  Package "yamapng" has an incompatible peer dependency to "@angular/common" (requires "^7.1.0" (extended), would install "9.1.12").\n                  Package "yamapng" has an incompatible peer dependency to "@angular/core" (requires "^7.1.0" (extended), would install "9.1.12").\n                  Package "angular-svg-round-progressbar" has an incompatible peer dependency to "zone.js" (requires "^0.9.0", would install "0.10.3"). \xc3\x97 Migration failed: Incompatible peer dependencies found. Peer dependency warnings when installing dependencies means that those dependencies might not work correctly together. You can use the '--force' option to ignore incompatible peer dependencies and instead address these warnings later.   See "C:\\Users\\koste\\AppData\\Local\\Temp\\ng-If5zs2\\angular-errors.log" for further details.\n
Run Code Online (Sandbox Code Playgroud)\n

我如何自动升级所有软件包?\n如果不可能,我可以安全地升级其他插件吗?即使在互联网上查看其他相同的错误,我也不太理解这些错误。

\n

我的package.json很简单

\n
{\n  "name": "vien-angular-start",\n  "version": "0.0.1",\n  "private": true,\n  "scripts": {\n    "ng": "ng",\n    "start": "ng serve",\n    "build": "ng build",\n    "build:prod": "ng build --configuration=production",\n    "test": "ng test",\n    "lint": "ng lint",\n    "e2e": "ng e2e",\n    "postinstall": "ngcc"\n  },\n  "dependencies": {\n    "@agm/core": "^1.1.0",\n    "@angular/animations": "~9.0.0",\n    "@angular/cdk": "^9.1.0",\n    "@angular/common": "~9.0.0",\n    "@angular/compiler": "~9.0.0",\n    "@angular/core": "~9.0.2",\n    "@angular/fire": "^5.4.2",\n    "@angular/forms": "~9.0.0",\n    "@angular/platform-browser": "~9.0.0",\n    "@angular/platform-browser-dynamic": "~9.0.0",\n    "@angular/router": "~9.0.0",\n    "@auth0/angular-jwt": "^4.1.2",\n    "@aws-amplify/ui-angular": "^0.2.4",\n    "@glidejs/glide": "^3.4.1",\n    "@ng-select/ng-select": "^3.7.0",\n    "@ngx-translate/core": "^11.0.1",\n    "@stripe/stripe-js": "^1.11.0",\n    "@swimlane/ngx-datatable": "^16.0.3",\n    "angular-archwizard": "^5.0.0",\n    "angular-calendar": "^0.28.2",\n    "angular-svg-round-progressbar": "^3.0.1",\n    "angular2-hotkeys": "^2.1.5",\n    "angular2-notifications": "^3.0.0",\n    "aws-amplify": "^3.0.10",\n    "buffer": "^5.6.0",\n    "chart.js": "^2.9.3",\n    "date-fns": "^2.8.0",\n    "firebase": "^7.8.1",\n    "intl-tel-input": "^14.1.0",\n    "ng2-nouislider": "^1.8.2",\n    "ngx-bootstrap": "^5.3.2",\n    "ngx-contextmenu": "^5.3.0",\n    "ngx-cookie-service": "^3.0.4",\n    "ngx-dropzone": "^2.2.2",\n    "ngx-dropzone-wrapper": "^8.0.0",\n    "ngx-ellipsis": "^2.1.2",\n    "ngx-lightbox": "^2.1.1",\n    "ngx-perfect-scrollbar": "^8.0.0",\n    "ngx-quill": "^7.3.11",\n    "ngx-sortablejs": "^3.1.3",\n    "nouislider": "^14.1.1",\n    "quill": "^1.3.7",\n    "rxjs": "~6.5.4",\n    "sortablejs": "^1.9.0",\n    "tslib": "^1.10.0",\n    "video.js": "^7.6.6",\n    "yamapng": "^2.0.4",\n    "zone.js": "~0.10.2"\n  },\n  "devDependencies": {\n    "@angular-devkit/build-angular": "~0.900.1",\n    "@angular/cli": "~9.0.3",\n    "@angular/compiler-cli": "~9.0.0",\n    "@angular/language-service": "~9.0.0",\n    "@types/jasmine": "~3.3.8",\n    "@types/jasminewd2": "~2.0.3",\n    "@types/node": "^12.11.1",\n    "codelyzer": "^5.1.2",\n    "jasmine-core": "~3.4.0",\n    "jasmine-spec-reporter": "~4.2.1",\n    "karma": "~4.1.0",\n    "karma-chrome-launcher": "~2.2.0",\n    "karma-coverage-istanbul-reporter": "~2.0.1",\n    "karma-jasmine": "~2.0.1",\n    "karma-jasmine-html-reporter": "^1.4.0",\n    "ng-swagger-gen": "^2.3.0",\n    "protractor": "~5.4.0",\n    "ts-node": "~7.0.0",\n    "tslint": "~5.15.0",\n    "typescript": "^3.8.3"\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我将打字稿升级到 "typescript": "^3.8.3"\n但仍然有同样的问题

\n

Tro*_*ott 4

截至撰写本文时,最新版本yamapng已有两年历史,是为与@angular/common版本 7 一起使用而编写的。但是您正在运行版本 9。在过去,这并不重要,但您最近可能已经更新到了npm@7版本标记这些问题。angular-svg-round-progressbar(和 也有类似的问题zone.js。)

你有很多选择:

  • --force按照错误消息中的建议使用该标志。
  • 更好的选择是使用该--legacy-peer-deps选项。
  • 您可以降级到npm版本 6。
  • 寻找替代品yamapng或要求维护者更新/发布新版本。
  • ...以及许多其他选项开始变得杂乱无章。例如,您可以仅针对一个命令npx运行版本 6。npm或者,如果您确信它可以与不同版本的对等依赖项一起使用,则修补程序包版本要求。