Description
@johnpapa tried to update https://github.com/johnpapa/angular-event-view-cli to version 8 but ran into some problems related to peer dependencies.
You can reproduce the starting state by following these commands:
git clone https://github.com/johnpapa/angular-event-view-cli
cd angular-event-view-cli
git checkout 437ebea5b099a7a8e24bbcd0ed14938b3183a1f5
At this point running npm i
will show some peer dependency warnings:
kamik@RED-X1C6 MINGW64 /d/sandbox/angular-event-view-cli (master)
$ npm i
npm WARN acorn-dynamic-import@4.0.0 requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.4.0 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.6.1 requires a peer of @angular/common@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.6.1 requires a peer of @angular/core@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.6.1 requires a peer of @angular/http@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/compiler@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/core@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/platform-browser-dynamic@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/platform-browser@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.2.1 requires a peer of @angular/common@>=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN karma-jasmine-html-reporter@1.4.2 requires a peer of jasmine-core@>=3.3 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\@angular\compiler-cli\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
audited 45000 packages in 9.25s
found 0 vulnerabilities
These warnings say that angular-in-memory-web-api
and codelyzer
do not support Angular version 7, which is currently used on the project.
Trying to update to 8 at this stage will not work:
kamik@RED-X1C6 MINGW64 /d/sandbox/angular-event-view-cli (master)
$ ng update @angular/core @angular/cli
Package "codelyzer" has an incompatible peer dependency to "@angular/compiler" (requires ">=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0" (extended), would install "8.0.0").
Package "codelyzer" has an incompatible peer dependency to "@angular/core" (requires ">=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0" (extended), would install "8.0.0").
Package "codelyzer" has an incompatible peer dependency to "@angular/platform-browser" (requires ">=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0" (extended), would install "8.0.0").
Package "codelyzer" has an incompatible peer dependency to "@angular/common" (requires ">=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0" (extended), would install "8.0.0").
Package "codelyzer" has an incompatible peer dependency to "@angular/platform-browser-dynamic" (requires ">=2.3.1 <7.0.0 || >6.0.0-beta <7.0.0" (extended), would install "8.0.0").
Incompatible peer dependencies found. See above.
To enable the update, all peerDependency for Angular must be resolved prior to the update.
kamik@RED-X1C6 MINGW64 /d/sandbox/angular-event-view-cli (master)
$ npm i --save-dev codelyzer@4.5.0
npm WARN acorn-dynamic-import@4.0.0 requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.4.0 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.6.1 requires a peer of @angular/common@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.6.1 requires a peer of @angular/core@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.6.1 requires a peer of @angular/http@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN karma-jasmine-html-reporter@1.4.2 requires a peer of jasmine-core@>=3.3 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\@angular\compiler-cli\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
+ codelyzer@4.5.0
added 1 package from 1 contributor, updated 2 packages and audited 45000 packages in 9.327s
found 0 vulnerabilities
kamik@RED-X1C6 MINGW64 /d/sandbox/angular-event-view-cli (master)
$ ng update @angular/core @angular/cli
Package "angular-in-memory-web-api" has an incompatible peer dependency to "@angular/common" (requires "^6.0.0" (extended), would install "8.0.0").
Package "angular-in-memory-web-api" has an incompatible peer dependency to "@angular/core" (requires "^6.0.0" (extended), would install "8.0.0").
Incompatible peer dependencies found. See above.
kamik@RED-X1C6 MINGW64 /d/sandbox/angular-event-view-cli (master)
$ npm i angular-in-memory-web-api@0.7.0
npm WARN acorn-dynamic-import@4.0.0 requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.4.0 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN karma-jasmine-html-reporter@1.4.2 requires a peer of jasmine-core@>=3.3 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\@angular\compiler-cli\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
+ angular-in-memory-web-api@0.7.0
updated 1 package and audited 45000 packages in 9.027s
found 0 vulnerabilities
kamik@RED-X1C6 MINGW64 /d/sandbox/angular-event-view-cli (master)
$ ng update @angular/core @angular/cli
Updating package.json with dependency @angular/compiler-cli @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency @angular/cli @ "8.0.0" (was "7.3.9")...
Updating package.json with dependency @angular/animations @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency @angular/compiler @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency @angular/common @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency @angular/language-service @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency @angular/forms @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency @angular/core @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency @angular/platform-browser @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency zone.js @ "0.9.1" (was "0.8.29")...
Updating package.json with dependency @angular/platform-browser-dynamic @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency @angular/router @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency @angular/platform-server @ "8.0.0" (was "7.2.15")...
Updating package.json with dependency @angular-devkit/build-angular @ "0.800.0" (was "0.13.9")...
Updating package.json with dependency typescript @ "3.4.5" (was "3.2.4")...
UPDATE package.json (2143 bytes)
> @angular/cli@8.0.0 postinstall D:\sandbox\angular-event-view-cli\node_modules\@angular\cli
> node ./bin/postinstall/script.js
npm WARN @angular/http@7.2.15 requires a peer of @angular/core@7.2.15 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/http@7.2.15 requires a peer of @angular/platform-browser@7.2.15 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.7.0 requires a peer of @angular/common@>=6.0.0 <8.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.7.0 requires a peer of @angular/core@>=6.0.0 <8.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.5.0 requires a peer of @angular/compiler@>=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@4.5.0 requires a peer of @angular/core@>=2.3.1 <8.0.0 || >7.0.0-beta <8.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN karma-jasmine-html-reporter@1.4.2 requires a peer of jasmine-core@>=3.3 but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.4.0 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN acorn-dynamic-import@4.0.0 requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\webpack-dev-server\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\@angular\compiler-cli\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
added 49 packages from 31 contributors, removed 130 packages, updated 122 packages, moved 6 packages and audited 21390 packages in 57.78s
found 0 vulnerabilities
** Executing migrations for package '@angular/core' **
------ Static Query Migration ------
With Angular version 8, developers need to
explicitly specify the timing of ViewChild and
ContentChild queries. Read more about this here:
https://v8.angular.io/guide/static-query-migration
------------------------------------------------
UPDATE src/app/sessions/session-list/session-list.component.ts (1766 bytes)
UPDATE src/app/speakers/speaker-list/speaker-list.component.ts (1529 bytes)
** Executing migrations for package '@angular/cli' **
CREATE browserslist (429 bytes)
UPDATE tslint.json (2541 bytes)
UPDATE package.json (2113 bytes)
UPDATE src/polyfills.ts (2393 bytes)
UPDATE tsconfig.json (439 bytes)
UPDATE src/tsconfig.app.json (211 bytes)
UPDATE src/tsconfig.spec.json (274 bytes)
npm WARN acorn-dynamic-import@4.0.0 requires a peer of acorn@^6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ajv-keywords@3.4.0 requires a peer of ajv@^6.9.1 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.7.0 requires a peer of @angular/common@>=6.0.0 <8.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.7.0 requires a peer of @angular/core@>=6.0.0 <8.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN angular-in-memory-web-api@0.7.0 requires a peer of @angular/http@>=6.0.0 <8.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN karma-jasmine-html-reporter@1.4.2 requires a peer of jasmine-core@>=3.3 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\webpack-dev-server\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\@angular\compiler-cli\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
added 4 packages from 7 contributors, removed 1 package, updated 1 package and audited 21394 packages in 11.176s
found 0 vulnerabilities
The update would also have ran if --force
was used, but the user was never informed of that. Perhaps if we had mentioned that on the original error message, it would have been easier from the start. But even better than that would be to also explain the peer dependency problem better.