在Angular 13中安装任何包时,量角器对等依赖关系出现问题



当我想要安装任何新的软件包时,控制台中将打印以下错误:(这次我想通过执行:ng add ngx-bootstrap来添加ngx引导程序

npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: @angular-devkit/build-angular@13.2.0
npm ERR! Found: protractor@6.0.0
npm ERR! node_modules/protractor
npm ERR!   dev protractor@"^6.0.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peerOptional protractor@"^7.0.0" from @angular-devkit/build-angular@13.2.0
npm ERR! node_modules/@angular-devkit/build-angular
npm ERR!   dev @angular-devkit/build-angular@"^13.2.0" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: protractor@7.0.0
npm ERR! node_modules/protractor
npm ERR!   peerOptional protractor@"^7.0.0" from @angular-devkit/build-angular@13.2.0
npm ERR!   node_modules/@angular-devkit/build-angular
npm ERR!     dev @angular-devkit/build-angular@"^13.2.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 C:UsersuserAppDataLocalnpm-cacheeresolve-report.txt for a full report.

虽然在某些情况下,使用--legacy peer deps运行npm命令可以解决问题(不适用于ngx bootstrap(,但我想知道这个问题的原因,并永远解决它一次

这是package.json:

{
"name": "",
"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-slider/ngx-slider": "^2.0.3",
"@angular/animations": "~13.1.1",
"@angular/cdk": "^13.1.1",
"@angular/common": "~13.1.1",
"@angular/compiler": "~13.1.1",
"@angular/core": "~13.1.1",
"@angular/forms": "~13.1.1",
"@angular/localize": "~13.1.1",
"@angular/material": "^13.1.1",
"@angular/platform-browser": "~13.1.1",
"@angular/platform-browser-dynamic": "~13.1.1",
"@angular/router": "~13.1.1",
"@auth0/angular-jwt": "^5.0.2",
"@fortawesome/fontawesome-free": "^5.15.3",
"@ng-bootstrap/ng-bootstrap": "^9.1.1",
"@ngmodule/material-carousel": "^0.6.0",
"@ngx-translate/core": "^14.0.0",
"@ngx-translate/http-loader": "^7.0.0",
"@swimlane/ngx-charts": "^20.0.1",
"@thisissoon/angular-inviewport": "^4.2.2",
"@thisissoon/angular-scrollspy": "^2.2.0",
"@types/chart.js": "^2.9.32",
"angular-bootstrap-md": "^11.1.0",
"angular-notifier": "^9.1.0",
"angular-responsive-carousel": "^2.0.2",
"animate.css": "^3.7.2",
"bootstrap": "^5.0.1",
"chart.js": "^2.9.4",
"jquery": "^3.6.0",
"material-design-icons": "^3.0.1",
"ng-scroll-spy": "^2.0.0",
"ng-spy": "^3.0.0",
"ngx-clipboard": "^15.0.1",
"ngx-countdown": "^13.0.0",
"ngx-horizontal-scroll-menu": "^1.0.11",
"ngx-image-zoom": "^0.6.0",
"ngx-infinite-scroll": "^10.0.1",
"ngx-simple-countdown": "^1.2.3",
"popper.js": "^1.16.1",
"rxjs": "^7.5.5",
"swiper": "^7.3.4",
"tslib": "^2.0.0",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "^13.2.0",
"@angular/cli": "~13.1.2",
"@angular/compiler-cli": "~13.1.1",
"@ngbmodule/material-carousel": "^0.7.1",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"codelyzer": "^0.0.28",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "^6.3.16",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"protractor": "^6.0.0",
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"typescript": "~4.5.4"
}
}

编辑:在将保护程序从6.0.0更改为7.0.0后,创建了其他冲突:

npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: @ng-bootstrap/ng-bootstrap@9.1.1
npm ERR! Found: @angular/common@13.1.1
npm ERR! node_modules/@angular/common
npm ERR!   peer @angular/common@">=6.1.0" from @angular-slider/ngx-slider@2.0.3
npm ERR!   node_modules/@angular-slider/ngx-slider
npm ERR!     @angular-slider/ngx-slider@"^2.0.3" from the root project
npm ERR!   peer @angular/common@"^13.0.0 || ^14.0.0-0" from @angular/cdk@13.1.1
npm ERR!   node_modules/@angular/cdk
npm ERR!     peer @angular/cdk@"13.1.1" from @angular/material@13.1.1
npm ERR!     node_modules/@angular/material
npm ERR!       @angular/material@"^13.1.1" from the root project
npm ERR!     peer @angular/cdk@">=12.0.0" from @swimlane/ngx-charts@20.0.1
npm ERR!     node_modules/@swimlane/ngx-charts
npm ERR!       @swimlane/ngx-charts@"^20.0.1" from the root project
npm ERR!     1 more (the root project)
npm ERR!   13 more (@angular/forms, @angular/material, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @angular/common@"^11.0.0" from @ng-bootstrap/ng-bootstrap@9.1.1
npm ERR! node_modules/@ng-bootstrap/ng-bootstrap
npm ERR!   @ng-bootstrap/ng-bootstrap@"^9.1.1" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: @angular/common@11.2.14
npm ERR! node_modules/@angular/common
npm ERR!   peer @angular/common@"^11.0.0" from @ng-bootstrap/ng-bootstrap@9.1.1
npm ERR!   node_modules/@ng-bootstrap/ng-bootstrap
npm ERR!     @ng-bootstrap/ng-bootstrap@"^9.1.1" 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:UsersuserAppDataLocalnpm-cacheeresolve-report.txt for a full report.

您必须使用量角器^7.0.0Angular 13需要它(对等依赖(。同时您正在使用版本6。

更改

"protractor": "^6.0.0",

"protractor": "^7.0.0",

并运行install,然后重试您的操作。

最新更新