Angular 8:为什么未满足对等依赖@angular/common@8.0.0?
Angular 8: Why UNMET PEER DEPENDENCY @angular/common@8.0.0?
我升级到最新的Angular8版本,更新很顺利。它现在像更新前一样工作。
我在执行 npm list
时看到奇怪的消息(在 npm install
完成后):
UNMET PEER DEPENDENCY @angular/common@8.0.0
...
UNMET PEER DEPENDENCY @angular/compiler@8.0.0
...
UNMET PEER DEPENDENCY @angular/core@8.0.0
为什么会这样?
我想这些包并没有丢失,因为应用程序运行良好,它们在我的 package.json
文件中:
"@angular/common": "8.0.0",
"@angular/compiler": "^8.0.0",
"@angular/core": "8.0.0",
我有最新的 node
和 npm
:
npm -v
6.9.0
node -v
v12.3.1
编辑 2:
npm ls
输出为:Git gist
编辑:
package.json 是:
{
"name": "webapp",
"version": "0.1.0",
"engines": {
"node": "^12.3.1",
"npm": "^6.9.0"
},
"scripts": {
"ng": "ng",
"test": "ng test",
"lint": "ng lint",
"pree2e": "webdriver-manager update",
"e2e": "ng e2e",
"postinstall": "ng build --prod --aot --build-optimizer --optimization",
"compodoc": "compodoc --tsconfig compodoc-config.ts --output ./doc --theme material --name 'API documentation'"
},
"private": true,
"dependencies": {
"@angular-devkit/build-angular": "^0.800.0",
"@angular/animations": "^8.0.0",
"@angular/cdk": "^8.0.0",
"@angular/cli": "^8.0.0",
"@angular/common": "8.0.0",
"@angular/compiler": "^8.0.0",
"@angular/compiler-cli": "^8.0.0",
"@angular/core": "8.0.0",
"@angular/flex-layout": "^8.0.0-beta.26",
"@angular/forms": "^8.0.0",
"@angular/material": "^8.0.0",
"@angular/platform-browser": "^8.0.0",
"@angular/platform-browser-dynamic": "^8.0.0",
"@angular/router": "^8.0.0",
"@swimlane/ngx-charts": "^11.1.0",
"acorn": "^6.1.1",
"ag-grid-angular": "^20.0.0",
"ag-grid-community": "^20.0.0",
"compression": "^1.7.4",
"core-js": "^2.6.3",
"crypto-js": "^3.1.9-1",
"d3": "^5.9.2",
"d3-sankey": "^0.12.1",
"express": "^4.17.1",
"force-ssl-heroku": "^1.0.2",
"hammerjs": "^2.0.8",
"ng-recaptcha": "^4.2.1",
"ngx-logger": "^3.3.11",
"ngx-webstorage-service": "^4.0.1",
"rxjs": "~6.5.2",
"ts-node": "~8.0.2",
"tslib": "^1.9.3",
"typescript": "^3.4.5",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular/language-service": "^8.0.0",
"@types/d3": "^5.7.2",
"@types/d3-sankey": "^0.11.0",
"@types/jasmine": "^3.3.13",
"@types/jasminewd2": "~2.0.6",
"@types/selenium-webdriver": "^4.0.0",
"codelyzer": "~4.5.0",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.5",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.2",
"karma-mocha-reporter": "^2.2.5",
"protractor": "^5.4.2",
"tslint": "~5.12.1"
}
}
npm ERR! peer dep missing: @angular/common@^6.0.0 || ^7.0.0, required by ngx-logger@3.3.13
npm ERR! peer dep missing: @angular/compiler@>=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0, required by codelyzer@4.5.0
npm ERR! peer dep missing: @angular/core@>=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0, required by codelyzer@4.5.0
npm ERR! peer dep missing: @angular/core@^6.0.0 || ^7.0.0, required by ng-recaptcha@4.2.1
npm ERR! peer dep missing: @angular/core@^6.0.0 || ^7.0.0, required by ngx-logger@3.3.13
输出表明您的某些第 3 方软件包需要某些 angular 软件包的较低版本 (< 8.0.0)。
您必须:
- 将那些第 3 方软件包的版本升级到与 angular@8.0.0
兼容的版本
- 将您的 angular 版本降级为与第 3 方要求兼容的版本
- 忽略错误,假设 angular 的主要版本之间引入的更改不会破坏第 3 方包
我升级到最新的Angular8版本,更新很顺利。它现在像更新前一样工作。
我在执行 npm list
时看到奇怪的消息(在 npm install
完成后):
UNMET PEER DEPENDENCY @angular/common@8.0.0
...
UNMET PEER DEPENDENCY @angular/compiler@8.0.0
...
UNMET PEER DEPENDENCY @angular/core@8.0.0
为什么会这样?
我想这些包并没有丢失,因为应用程序运行良好,它们在我的 package.json
文件中:
"@angular/common": "8.0.0",
"@angular/compiler": "^8.0.0",
"@angular/core": "8.0.0",
我有最新的 node
和 npm
:
npm -v
6.9.0
node -v
v12.3.1
编辑 2:
npm ls
输出为:Git gist
编辑: package.json 是:
{
"name": "webapp",
"version": "0.1.0",
"engines": {
"node": "^12.3.1",
"npm": "^6.9.0"
},
"scripts": {
"ng": "ng",
"test": "ng test",
"lint": "ng lint",
"pree2e": "webdriver-manager update",
"e2e": "ng e2e",
"postinstall": "ng build --prod --aot --build-optimizer --optimization",
"compodoc": "compodoc --tsconfig compodoc-config.ts --output ./doc --theme material --name 'API documentation'"
},
"private": true,
"dependencies": {
"@angular-devkit/build-angular": "^0.800.0",
"@angular/animations": "^8.0.0",
"@angular/cdk": "^8.0.0",
"@angular/cli": "^8.0.0",
"@angular/common": "8.0.0",
"@angular/compiler": "^8.0.0",
"@angular/compiler-cli": "^8.0.0",
"@angular/core": "8.0.0",
"@angular/flex-layout": "^8.0.0-beta.26",
"@angular/forms": "^8.0.0",
"@angular/material": "^8.0.0",
"@angular/platform-browser": "^8.0.0",
"@angular/platform-browser-dynamic": "^8.0.0",
"@angular/router": "^8.0.0",
"@swimlane/ngx-charts": "^11.1.0",
"acorn": "^6.1.1",
"ag-grid-angular": "^20.0.0",
"ag-grid-community": "^20.0.0",
"compression": "^1.7.4",
"core-js": "^2.6.3",
"crypto-js": "^3.1.9-1",
"d3": "^5.9.2",
"d3-sankey": "^0.12.1",
"express": "^4.17.1",
"force-ssl-heroku": "^1.0.2",
"hammerjs": "^2.0.8",
"ng-recaptcha": "^4.2.1",
"ngx-logger": "^3.3.11",
"ngx-webstorage-service": "^4.0.1",
"rxjs": "~6.5.2",
"ts-node": "~8.0.2",
"tslib": "^1.9.3",
"typescript": "^3.4.5",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular/language-service": "^8.0.0",
"@types/d3": "^5.7.2",
"@types/d3-sankey": "^0.11.0",
"@types/jasmine": "^3.3.13",
"@types/jasminewd2": "~2.0.6",
"@types/selenium-webdriver": "^4.0.0",
"codelyzer": "~4.5.0",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.5",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.2",
"karma-mocha-reporter": "^2.2.5",
"protractor": "^5.4.2",
"tslint": "~5.12.1"
}
}
npm ERR! peer dep missing: @angular/common@^6.0.0 || ^7.0.0, required by ngx-logger@3.3.13
npm ERR! peer dep missing: @angular/compiler@>=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0, required by codelyzer@4.5.0
npm ERR! peer dep missing: @angular/core@>=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0, required by codelyzer@4.5.0
npm ERR! peer dep missing: @angular/core@^6.0.0 || ^7.0.0, required by ng-recaptcha@4.2.1
npm ERR! peer dep missing: @angular/core@^6.0.0 || ^7.0.0, required by ngx-logger@3.3.13
输出表明您的某些第 3 方软件包需要某些 angular 软件包的较低版本 (< 8.0.0)。
您必须:
- 将那些第 3 方软件包的版本升级到与 angular@8.0.0 兼容的版本
- 将您的 angular 版本降级为与第 3 方要求兼容的版本
- 忽略错误,假设 angular 的主要版本之间引入的更改不会破坏第 3 方包