angular / angular-cli

CLI tool for Angular
https://cli.angular.io
MIT License
26.67k stars 11.98k forks source link

ng update @angular/cli installs angular 8.2.0-next.0 #14980

Closed viceice closed 4 years ago

viceice commented 5 years ago

🐞 Bug report

Command (mark with an x)

- [ ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [x] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?

Yes, the previous version in which this bug was not present was: .... Updating angular cli from `8.0.6` to `8.1.0` also updates other angular packages to `8.2.0-next.0` (`next`npm tag) ### Description A clear and concise description of the problem... The cli should update to `latest` instead of `next` npm tag. ## πŸ”¬ Minimal Reproduction

create a angular workspace with angular 8.0.6 and upgrade to 8.1.0

npx -p @angular/cli@8.0.6 ng new bug
cd bug
npx -p @angular/cli@8.0.6 ng update @angular/cli

πŸ”₯ Exception or Error




Using package manager: 'yarn'
Collecting installed dependencies...
Found 81 dependencies.
Fetching dependency metadata from registry...
  Package "ng-packagr" has an incompatible peer dependency to "@angular/compiler-cli" (requires "^6.0.0 || ^7.0.0 || ^8.0.0-beta.0 || ^8.1.0-beta.0" (extended), would install "8.2.0-next.0").
  Package "@angular/cdk" has an incompatible peer dependency to "@angular/common" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.0").
  Package "jest-preset-angular" has an incompatible peer dependency to "@angular/core" (requires ">=2.0.0", would install "8.2.0-next.0").
  Package "ng-packagr" has an incompatible peer dependency to "@angular/compiler" (requires "^6.0.0 || ^7.0.0 || ^8.0.0-beta.0 || ^8.1.0-beta.0" (extended), would install "8.2.0-next.0").
  Package "jest-preset-angular" has an incompatible peer dependency to "@angular/platform-browser-dynamic" (requires ">=2.0.0", would install "8.2.0-next.0").
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.

🌍 Your Environment




Angular CLI: 8.0.6
Node: 10.15.0
OS: win32 x64
Angular: 8.1.0
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.800.6
@angular-devkit/build-angular      0.800.6
@angular-devkit/build-ng-packagr   0.800.6
@angular-devkit/build-optimizer    0.800.6
@angular-devkit/build-webpack      0.800.6
@angular-devkit/core               8.0.6
@angular-devkit/schematics         8.0.1
@angular/cdk                       8.0.2
@angular/cli                       8.0.6
@ngtools/json-schema               1.2.0
@ngtools/webpack                   8.0.6
@schematics/angular                8.0.1
@schematics/update                 0.800.6
ng-packagr                         5.3.0
rxjs                               6.5.2
typescript                         3.4.5
webpack                            4.30.0

Anything else relevant?

CRACKISH commented 5 years ago

Same error.

rubyfin commented 5 years ago

I had the exact same issue, but resolved now .

My environment was:

Angular CLI: 7.3.9
Node: 9.11.1
OS: linux x64
Angular: 8.1.0
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.13.9
@angular-devkit/build-angular     0.801.0
@angular-devkit/build-optimizer   0.801.0
@angular-devkit/build-webpack     0.801.0
@angular-devkit/core              7.3.9
@angular-devkit/schematics        7.3.9
@angular/cli                      7.3.9
@ngtools/webpack                  8.1.0
@schematics/angular               7.3.9
@schematics/update                0.13.9
rxjs                              6.5.2
typescript                        3.4.5
webpack                           4.35.2

ng update showed me 1 package to update:

      Name                               Version                  Command to update
     --------------------------------------------------------------------------------
      @angular/cli                       7.3.9 -> 8.1.0           ng update @angular/cli

Running ng update @angular/cli I would get this every time:

Package "ag-grid-angular" has an incompatible peer dependency to "@angular/compiler" (requires ">=2.1.x" (extended), would install "8.2.0-next.0").
Package "ag-grid-angular" has an incompatible peer dependency to "@angular/core" (requires ">=2.1.x" (extended), would install "8.2.0-next.0").

However when I ran ng update @angular/cli @angular/core, it did the trick, and updated the package.

My environment now is:

Angular CLI: 8.1.0
Node: 9.11.1
OS: linux x64
Angular: 8.1.0
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.801.0
@angular-devkit/build-angular     0.801.0
@angular-devkit/build-optimizer   0.801.0
@angular-devkit/build-webpack     0.801.0
@angular-devkit/core              8.1.0
@angular-devkit/schematics        8.1.0
@ngtools/webpack                  8.1.0
@schematics/angular               8.1.0
@schematics/update                0.801.0
rxjs                              6.5.2
typescript                        3.4.5
webpack                           4.35.2
clydin commented 5 years ago

Could you provide the dependency sections of the project's package.json?

rubyfin commented 5 years ago

@clydin - sure, here they are:

 "dependencies": {
    "@angular/animations": "~8.1.0",
    "@angular/common": "~8.1.0",
    "@angular/compiler": "~8.1.0",
    "@angular/core": "~8.1.0",
    "@angular/forms": "~8.1.0",
    "@angular/platform-browser": "~8.1.0",
    "@angular/platform-browser-dynamic": "~8.1.0",
    "@angular/router": "~8.1.0",
    "ag-grid-angular": "^21.0.1",
    "ag-grid-community": "^21.0.1",
    "ag-grid-enterprise": "^21.0.1",
    "core-js": "^2.6.9",
    "rxjs": "~6.5.2",
    "tslib": "^1.10.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.801.0",
    "@angular/cli": "^8.1.0",
    "@angular/compiler-cli": "~8.1.0",
    "@angular/language-service": "~8.1.0",
    "@types/jasmine": "^3.3.13",
    "@types/jasminewd2": "~2.0.6",
    "@types/node": "^11.13.15",
    "codelyzer": "^5.0.1",
    "jasmine-core": "~3.3.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.0.1",
    "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",
    "protractor": "~5.4.2",
    "ts-node": "~8.0.3",
    "tslint": "~5.14.0",
    "typescript": "~3.4.5"
  }
rdrrichards commented 5 years ago

I have a similar issue. I installed @angular/cli 8.1.0 globally yesterday. Updated a project today using ng update @angular/cli, and it installed Angular 8.2.0-next.0 for all my dependencies.

"dependencies": {
    "@angular/animations": "8.2.0-next.0",
    "@angular/common": "8.2.0-next.0",
    "@angular/compiler": "8.2.0-next.0",
    "@angular/core": "8.2.0-next.0",
    "@angular/forms": "8.2.0-next.0",
    "@angular/platform-browser": "8.2.0-next.0",
    "@angular/platform-browser-dynamic": "8.2.0-next.0",
    "@angular/router": "8.2.0-next.0",
    "core-js": "^2.6.5",
    "rxjs": "^6.5.2",
    "tslib": "^1.9.3",
    "zone.js": "~0.9.1"
},
"devDependencies": {
    "@angular-devkit/build-angular": "~0.801.0",
    "@angular/cli": "8.1.0",
    "@angular/compiler-cli": "8.2.0-next.0",
    "@angular/language-service": "8.2.0-next.0",
    ...

My Angular versions were 8.0.3, the CLI version was 8.0.4.

The application built, and the unit tests passed, so I am not too worried. But, it is odd.

pegan23 commented 5 years ago

I had the same issue when updating from 7.2.14 to 8.1.0 Removing the @angular/http package fixed this for me (allowing me to run the ng update command)

npm un @angular/http

mgzurakowski commented 5 years ago

Removing @angular/http didn't work for me. Same with ng update @angular/cli @angular/core

flippingtables commented 5 years ago

Ive seen the same issue with my projects.

argygkou commented 5 years ago

Same issue here...

vonBrax commented 5 years ago

Also happening here and I couldn't find a way to make ng update uninstall 8.2.0-next and install 8.1.0 instead. I had to manually change in package.json.

krischan1410 commented 5 years ago

Same issue here, ng update cli and core didn't worked, don't want to remove @angulat/http

matheo commented 5 years ago

@krischan1410 you may update it to @angular/common/http as the v8 Upgrade Guideline says.

In the other hand, I'm seeing this error for every new minor release since some time ago, the CLI must discard the next releases :-?

andriannus commented 5 years ago

Issue had fix when i use the following command with --force flag..

ng update @angular/cli @angular/core --force

krischan1410 commented 5 years ago

@matheo Thanks for the hint: Now I see that I don't use @angular/http at all. So removing it is not a bug fix for my environment :-)

hugodes commented 5 years ago

Same issue here:

Angular CLI: 8.0.6
Node: 10.16.0
OS: darwin x64
Angular: 8.1.0
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... platform-server, router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.800.6
@angular-devkit/build-angular      0.800.6
@angular-devkit/build-optimizer    0.800.6
@angular-devkit/build-webpack      0.800.6
@angular-devkit/core               8.0.6
@angular-devkit/schematics         8.0.6
@angular/cdk                       8.0.2
@angular/cli                       8.0.6
@angular/material                  8.0.2
@angular/material-moment-adapter   8.0.2
@ngtools/webpack                   8.0.6
@schematics/angular                8.0.6
@schematics/update                 0.800.6
rxjs                               6.5.2
typescript                         3.4.5
webpack                            4.30.0

Error when running ng update @angular/cli :

Using package manager: 'npm'
Collecting installed dependencies...
Found 55 dependencies.
Fetching dependency metadata from registry...
                  Package "@angular/material" has an incompatible peer dependency to "@angular/animations" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.0").
                  Package "@angular/cdk" has an incompatible peer dependency to "@angular/core" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.0").
                  Package "@angular/cdk" has an incompatible peer dependency to "@angular/common" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.0").
                  Package "@angular/material" has an incompatible peer dependency to "@angular/forms" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.0").
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.

Update 1: solved by deleting node_modules/ and package-lock.json and running a fresh npm install Update 2: Same error on another of our projects, the solution above didn't work for it

hugodes commented 5 years ago

@clydin @alan-agius4 Same issue with cli 8.1.1

OP sent a repro of the issue, were you able to reproduce it on your end ?

Found 43 dependencies.
    We analyzed your package.json, there are some packages to update:

      Name                               Version                  Command to update
     --------------------------------------------------------------------------------
      @angular/cli                       8.0.6 -> 8.1.1           ng update @angular/cli
      @angular/core                      8.1.0 -> 8.1.1           ng update @angular/core
      @ngrx/store                        8.0.1 -> 8.1.0           ng update @ngrx/store
🦁 ~/src/squid-web-app (upgrades)
$ ng update @angular/cli
Your global Angular CLI version (8.1.0) is greater than your local
version (8.0.6). The local Angular CLI version is used.

To disable this warning use "ng config -g cli.warnings.versionMismatch false".
Using package manager: 'npm'
Collecting installed dependencies...
Found 43 dependencies.
Fetching dependency metadata from registry...
                  Package "@angular/cdk" has an incompatible peer dependency to "@angular/common" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.1").
                  Package "@angular/material" has an incompatible peer dependency to "@angular/animations" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.1").
                  Package "@angular/material" has an incompatible peer dependency to "@angular/forms" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.1").
                  Package "@angular/cdk" has an incompatible peer dependency to "@angular/core" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.1").
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.
markgoho commented 5 years ago

@hugodes just one clarification, on 8.1.1 the message now shows that 8.2.0-next.1 would be installed instead of -next.0

Whatever the issue is, it's being dragged along with new versions.

scurk1415 commented 5 years ago

Same issue here, please fix

AndreyBespamyatnov commented 5 years ago
Using package manager: 'npm'
Collecting installed dependencies...
Found 42 dependencies.
Fetching dependency metadata from registry...
                  Package "codelyzer" has an incompatible peer dependency to "@angular/core" (requires ">=2.3.1 <9.0.0 || >8.0.0-beta <9.0.0" (extended), would install "8.2.0-next.1").
                  Package "@angular/material" has an incompatible peer dependency to "@angular/animations" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.1").
                  Package "@angular/material" has an incompatible peer dependency to "@angular/common" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.1").
                  Package "@angular/material" has an incompatible peer dependency to "@angular/forms" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-next.1").
                  Package "ng-packagr" has an incompatible peer dependency to "@angular/compiler-cli" (requires "^6.0.0 || ^7.0.0 || ^8.0.0-beta.0 || ^8.1.0-beta.0" (extended), would install "8.2.0-next.1").
                  Package "codelyzer" has an incompatible peer dependency to "@angular/compiler" (requires ">=2.3.1 <9.0.0 || >8.0.0-beta <9.0.0" (extended), would install "8.2.0-next.1").
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.

Same issue

topikus commented 4 years ago

with 8.1.2 version have the same issue.

carolitascl commented 4 years ago

For me the error appeared using @angular/cli installed globally. Installing locally solved my problem

krokofant commented 4 years ago
npm install @angular/cli@8.1.2
npx ng update @angular/cdk

Workaround is just installing the cli directly through npm

db6edr commented 4 years ago

This combination doesn't make sense. npm install does a local installation of @angular/cli. npx ng creates a temporary, global "installation" of @angular/cli, executes the command and removes the temporary files again.

krokofant commented 4 years ago

@db6edr That's just how I'm using the angular-cli, without a global installation. You might as well use it without npx but the issue was updating the @angular/cli package through the cli itself and that's what the first command is for. I've had no issue installing other @angular packages, thus the follow-up command to install other packages via the cli.

mackelito commented 4 years ago

Running ng update @angular/cli @angular/cdk @angular/core @angular/material worked for us..

thevirajshelke commented 4 years ago
Package "@angular/material" has an incompatible peer dependency to "@angular/common" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-rc.0").
Package "@angular/material" has an incompatible peer dependency to "@angular/animations" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-rc.0").
Package "@angular/material" has an incompatible peer dependency to "@angular/forms" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-rc.0").
Package "@angular/material" has an incompatible peer dependency to "@angular/core" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-rc.0").
Incompatible peer dependencies found. See above.

Facing the above issue when trying to update cli using ng update @angular/cli. All of the other dependencies updated properly using ng update list, except @angular/cli.

blogcraft commented 4 years ago

ng update

Found 56 dependencies. We analyzed your package.json, there are some packages to update:

  Name                                      Version                  Command to update
 ---------------------------------------------------------------------------------------
  @angular/cli                              8.1.2 -> 8.1.3           ng update @angular/cli

ng update @angular/cli

              Package "@angular/flex-layout" has an incompatible peer dependency to "@angular/common" (requires ">=8.0.0-rc.5", would install "8.2.0-rc.0").
              Package "@angular/flex-layout" has an incompatible peer dependency to "@angular/core" (requires ">=8.0.0-rc.5", would install "8.2.0-rc.0").
              Package "@angular/material" has an incompatible peer dependency to "@angular/animations" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-rc.0").
              Package "@angular/flex-layout" has an incompatible peer dependency to "@angular/platform-browser" (requires ">=8.0.0-rc.5", would install "8.2.0-rc.0").
              Package "@nguniversal/module-map-ngfactory-loader" has an incompatible peer dependency to "@angular/platform-server" (requires "^8.0.0" (extended), would install "8.2.0-rc.0").
              Package "@angular/material" has an incompatible peer dependency to "@angular/forms" (requires "^8.0.0 || ^9.0.0-0" (extended), would install "8.2.0-rc.0").
              Package "@swimlane/ngx-charts" has an incompatible peer dependency to "@angular/platform-browser-dynamic" (requires "7.x || 8.x" (extended), would install "8.2.0-rc.0").
Santosh8055 commented 4 years ago

Using the --force flag worked for me.

doronsever commented 4 years ago

Using the --force flag now will install Angular 9.0.0.next 😱

ilianiv commented 4 years ago

It seems
ng update @angular/cli - will update package.json to 9.0.0.next ng update @angular/cli @angular/core - will update package.json to 8.2.0

PS: with @angular/cli@8.1.3 globally installed

crissxross commented 4 years ago

With @angular/cli@8.2.0 installed globally A local ng update @angular/cli installs cli@8.2.0 but also installs @angular/core, etc. to "9.0.0-next.0" without doing ng update @angular/core

Using package manager: 'npm'
Collecting installed dependencies...
Found 44 dependencies.
Fetching dependency metadata from registry...
    Updating package.json with dependency @angular/cli @ "8.2.0" (was "8.1.1")...
    Updating package.json with dependency @angular/compiler-cli @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/language-service @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/animations @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular-devkit/build-angular @ "0.802.0" (was "0.801.1")...
    Updating package.json with dependency @angular/common @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/core @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/compiler @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/forms @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/platform-browser @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/platform-browser-dynamic @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/router @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency typescript @ "3.5.3" (was "3.4.5")...
UPDATE package.json (1795 bytes)
snebjorn commented 4 years ago

I have the same issue but with the new 8.2.0 release it now installs 9.0.0-next.0

Updating package.json with dependency @angular/animations @ "9.0.0-next.0" (was "8.1.3")...
Updating package.json with dependency @angular/compiler @ "9.0.0-next.0" (was "8.1.3")...
Updating package.json with dependency @angular/common @ "9.0.0-next.0" (was "8.1.3")...
Updating package.json with dependency @angular/forms @ "9.0.0-next.0" (was "8.1.3")...
Updating package.json with dependency @angular/core @ "9.0.0-next.0" (was "8.1.3")...
Updating package.json with dependency @angular/platform-browser-dynamic @ "9.0.0-next.0" (was "8.1.3")...
Updating package.json with dependency @angular/router @ "9.0.0-next.0" (was "8.1.3")...

Here's the log. (in order)

PS > ng update
Your global Angular CLI version (8.1.3) is greater than your local
version (8.1.2). The local Angular CLI version is used.

To disable this warning use "ng config -g cli.warnings.versionMismatch false".
Using package manager: 'npm'
Found 63 dependencies.
    We analyzed your package.json, there are some packages to update:

      Name                                Version                  Command to update
     ---------------------------------------------------------------------------------
      @angular/cdk                        8.1.1 -> 8.1.2           ng update @angular/cdk
      @angular/cli                        8.1.2 -> 8.2.0           ng update @angular/cli
      @angular/core                       8.1.3 -> 8.2.0           ng update @angular/core

Updating the global CLI

PS > npm -g install @angular/cli@8.2.0
omitted\AppData\Roaming\npm\ng -> omitted\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng

> @angular/cli@8.2.0 postinstall omitted\AppData\Roaming\npm\node_modules\@angular\cli
> node ./bin/postinstall/script.js

+ @angular/cli@8.2.0
added 1 package from 1 contributor and updated 16 packages in 15.545s

Updating angular

PS > ng update @angular/cli --force
Your global Angular CLI version (8.2.0) is greater than your local
version (8.1.2). The local Angular CLI version is used.

To disable this warning use "ng config -g cli.warnings.versionMismatch false".
Using package manager: 'npm'
Collecting installed dependencies...
Found 63 dependencies.
Fetching dependency metadata from registry...
                  Package "@angular/flex-layout" has an incompatible peer dependency to "@angular/platform-browser" (requires ">=8.0.0-rc.5", would install "9.0.0-next.0").
                  Package "@angular/flex-layout" has an incompatible peer dependency to "@angular/common" (requires ">=8.0.0-rc.5", would install "9.0.0-next.0").
                  Package "jest-preset-angular" has an incompatible peer dependency to "@angular/core" (requires ">=2.0.0", would install "9.0.0-next.0").
                  Package "jest-preset-angular" has an incompatible peer dependency to "@angular/platform-browser-dynamic" (requires ">=2.0.0", would install "9.0.0-next.0").
    Updating package.json with dependency @angular/cli @ "8.2.0" (was "8.1.2")...
    Updating package.json with dependency @angular/compiler-cli @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/language-service @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/platform-browser @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular-devkit/build-angular @ "0.802.0" (was "0.801.2")...
    Updating package.json with dependency @angular/animations @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/compiler @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/common @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/forms @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/core @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/platform-browser-dynamic @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency @angular/router @ "9.0.0-next.0" (was "8.1.3")...
    Updating package.json with dependency typescript @ "3.5.3" (was "3.4.5")...
UPDATE package.json (2989 bytes)

npm WARN @angular/flex-layout@8.0.0-beta.26 requires a peer of @angular/core@>=8.0.0-rc.5 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/flex-layout@8.0.0-beta.26 requires a peer of @angular/common@>=8.0.0-rc.5 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/flex-layout@8.0.0-beta.26 requires a peer of @angular/platform-browser@>=8.0.0-rc.5 but none is installed. You must install peer dependencies yourself.
npm WARN @azure/msal-angular@0.1.2 requires a peer of @angular/common@^4.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN @azure/msal-angular@0.1.2 requires a peer of @angular/core@^4.3.0 but none is installed. You must install peer dependencies yourself.
npm WARN @azure/msal-angular@0.1.2 requires a peer of rxjs@^5.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN codelyzer@5.1.0 requires a peer of @angular/compiler@>=2.3.1 <9.0.0 || >8.0.0-beta <9.0.0 || >8.1.0-beta <9.0.0 || >8.2.0-beta <9.0.0 but none is installed. You must install peer dependencies yourself.        
npm WARN codelyzer@5.1.0 requires a peer of @angular/core@>=2.3.1 <9.0.0 || >8.0.0-beta <9.0.0 || >8.1.0-beta <9.0.0 || >8.2.0-beta <9.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN jest-preset-angular@7.1.1 requires a peer of @angular/core@>=2.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN jest-preset-angular@7.1.1 requires a peer of @angular/platform-browser-dynamic@>=2.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN ng-mocks@8.1.0 requires a peer of @angular/compiler@>=5.x <=8.x but none is installed. You must install peer dependencies yourself.
npm WARN ng-mocks@8.1.0 requires a peer of @angular/core@>=5.x <=8.x but none is installed. You must install peer dependencies yourself.
npm WARN ng-mocks@8.1.0 requires a peer of @angular/forms@>=5.x <=8.x but none is installed. You must install peer dependencies yourself.
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

added 18 packages from 9 contributors, removed 1 package, updated 46 packages and audited 913394 packages in 49.043s
found 0 vulnerabilities

ng update @angular/core works as expected

SimonWilliams-STL commented 4 years ago

I have the same issue. I managed to update @angular/cli and @angular/core by updating them together, but I can't update @angular/cdk as I get the "would install "9.0.0-next.0" error.

Jimit09 commented 4 years ago

Issue had fix when i use the following command with --force flag..

ng update @angular/cli @angular/core --force

ng update with --force option will update angular irrespective of version conflicts dependencies

fabioemoutinho commented 4 years ago

ng update @angular/cli @angular/core worked for me.

I was getting the following error before.

ng update @angular/cli @angular/core @angular/material @angular/cdk @angular/pwa @angular-devkit/build-angular
Using package manager: 'npm'
Collecting installed dependencies...
Found 50 dependencies.
Fetching dependency metadata from registry...
                  Package "@angular/common" has an incompatible peer dependency to "@angular/core" (requires "9.0.0-next.0" (extended), would install "8.2.0").
                  Package "@angular/compiler-cli" has an incompatible peer dependency to "@angular/compiler" (requires "9.0.0-next.0", would install "8.2.0")
                  Package "@angular/common" has an incompatible peer dependency to "@angular/core" (requires "9.0.0-next.0", would install "8.2.0")
                  Package "ngx-mask" has an incompatible peer dependency to "@angular/common" (requires ">=6.0.0", would install "9.0.0-next.0").
                  Package "@angular/forms" has an incompatible peer dependency to "@angular/common" (requires "8.2.0", would install "9.0.0-next.0")
                  Package "@angular/compiler-cli" has an incompatible peer dependency to "@angular/compiler" (requires "9.0.0-next.0" (extended), would install "8.2.0").
                  Package "@angular/platform-browser-dynamic" has an incompatible peer dependency to "@angular/common" (requires "8.2.0", would install "9.0.0-next.0")
                  Package "@angular/platform-browser" has an incompatible peer dependency to "@angular/common" (requires "8.2.0", would install "9.0.0-next.0")
                  Package "@angular/service-worker" has an incompatible peer dependency to "@angular/common" (requires "8.2.0", would install "9.0.0-next.0")
                  Package "@angular/router" has an incompatible peer dependency to "@angular/common" (requires "8.2.0", would install "9.0.0-next.0")
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.

Edit: it still happens when I update @angular/material though

blogcraft commented 4 years ago

Cli team blames material, material team blames cli... angular/components/issues/16596

jakehockey10 commented 4 years ago

I'm not using material and still seeing this issue.

SergeyCherman commented 4 years ago

I was able to get around these issues via manually updating my package.json to latest angular/angular material versions. Then running: ng update @angular/cli @angular/core --from 7 --to 8 --migrate-only ng update @angular/material --from 7 --to 8 --migrate-only

heapifyman commented 4 years ago

Similar problem here - updating from 8.1.1 -> 8.2.0.

A combined ng update @angular/cli @angular/core updates both to 8.2.0.

But when running ng update @angular/material afterwards, all angular dependencies (except for material, cdk and cli) are updated to 9.0.0-next.0

prmces commented 4 years ago

Similar problem here - updating from 8.1.1 -> 8.2.0.

A combined ng update @angular/cli @angular/core updates both to 8.2.0.

But when running ng update @angular/material afterwards, all angular dependencies (except for material, cdk and cli) are updated to 9.0.0-next.0

I have the exact same issue!

sergiofincast commented 4 years ago

Bottom line, ng update doesn't work. It get the following errors when attempting to upgrade from Angular 7.

Package "@angular/compiler-cli" has an incompatible peer dependency to "@angular/compiler" (requires "9.0.0-next.0", would install "8.2.0") 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.2.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.2.0").

maroy1986 commented 4 years ago

ng update definitely has some problems... material as well. On my end, that's when I try to upgrade @angular/material, it tries to install 9.0.0-next.0 for several packages.

I'm upgrading from 7.1.2. Everything went perfectly until I tried to upgrade @angular/material and @angular/cdk. This is a real PITA...

rubenb994 commented 4 years ago

Similar problem here - updating from 8.1.1 -> 8.2.0. A combined ng update @angular/cli @angular/core updates both to 8.2.0. But when running ng update @angular/material afterwards, all angular dependencies (except for material, cdk and cli) are updated to 9.0.0-next.0

I have the exact same issue!

These steps helped me resolved the problem:

maroy1986 commented 4 years ago

Similar problem here - updating from 8.1.1 -> 8.2.0. A combined ng update @angular/cli @angular/core updates both to 8.2.0. But when running ng update @angular/material afterwards, all angular dependencies (except for material, cdk and cli) are updated to 9.0.0-next.0

I have the exact same issue!

These steps helped me resolved the problem:

  • Manually edit the version numbers of the depencies which changed to ~9.0.0-next.0" in package.json. Example: "@angular/common": "~9.0.0-next.0" to "@angular/common": "^8.1.2",
  • Remove node_modules folder
  • Run npm install

I've gone kinda the same way to resolve the issue. I manually upgrade material and cdk manually with npm and then ran the migration command manually from the schematics of angular CLI. Works perfectly the first time.

sergiofincast commented 4 years ago

I don't even have Angular Material in my project. Just Angular and Bootstrap, that's all and it doesn't work.

Splaktar commented 4 years ago

In a project with "@angular/core": "~8.1.2", I ran ng update @angular/cli and I got "@angular/cli": "~8.2.0" along with "@angular/core": "~9.0.0-next.0". This seems unexpected to me if I don’t specify --next. I was expecting to go to "@angular/core": "~8.2.0". It seems quite surprising to go from a stable to a preview release.

You can use this repo and commit to reproduce/debug: https://github.com/angular-hispano/angular-hispano/commit/7375b34f6e3f2b1158f7430230d2087e1b18d3a6.

telion2 commented 4 years ago

I was able to get around these issues via manually updating my package.json to latest angular/angular material versions. Then running: ng update @angular/cli @angular/core --from 7 --to 8 --migrate-only ng update @angular/material --from 7 --to 8 --migrate-only

Run that without the --migrate-only. Finally installed 8.2.1 and NOT 9.0.0.next... (or whatever) Also uninstall all other packages that throw that incompatible peer-dependency Error and reinstall them afterwards. In my case it was angularx-social-login.

ErVishalM commented 4 years ago

I am having the same issue running this command ng update @angular/cdk @angular/material @angular/material-moment-adapter and getting this error -

Package "ag-grid-angular" has an incompatible peer dependency to "@angular/core" (requires ">=2.1.x" (extended), 
would install "9.0.0-next.2").
                  Package "ag-grid-angular" has an incompatible peer dependency to "@angular/compiler" (requires ">=2.1.x" (extended), would install "9.0.0-next.2").
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.

Do not want to use force option but why i am getting this error.

hpawe01 commented 4 years ago

@ErVishalM: you are getting this error, because somehow angular cli thinks, that 9.0.0-next.2 is the latest version. You can combine your update command with cli and core (as @heapifyman suggested): ng update @angular/core @angular/cli @angular/cdk @angular/material @angular/material-moment-adapter. Than somehow the correct version is used for peer dependency check (8.2.x).

DenysVuika commented 4 years ago

It is now having the same problem with the 9.0.0-next.2!

Running ng update:

 Name                               Version                  Command to update
     --------------------------------------------------------------------------------
      @angular/cdk                       8.0.2 -> 8.1.2           ng update @angular/cdk
      @angular/material                  8.0.2 -> 8.1.2           ng update @angular/material

Running ng update @angular/material

Updating package.json with dependency @angular/material @ "8.1.2" (was "8.0.2")...
    Updating package.json with dependency @angular/language-service @ "9.0.0-next.2" (was "8.2.2")...
    Updating package.json with dependency @angular/compiler-cli @ "9.0.0-next.2" (was "8.2.2")...
    Updating package.json with dependency @angular/cdk @ "8.1.2" (was "8.0.2")...
    Updating package.json with dependency @angular/core @ "9.0.0-next.2" (was "8.2.2")...
    Updating package.json with dependency @angular/animations @ "9.0.0-next.2" (was "8.2.2")...
    Updating package.json with dependency @angular/common @ "9.0.0-next.2" (was "8.2.2")...
    Updating package.json with dependency @angular/forms @ "9.0.0-next.2" (was "8.2.2")...
    Updating package.json with dependency @angular/platform-browser @ "9.0.0-next.2" (was "8.2.2")...
    Updating package.json with dependency @angular/router @ "9.0.0-next.2" (was "8.2.2")...
    Updating package.json with dependency @angular/compiler @ "9.0.0-next.2" (was "8.2.2")...
    Updating package.json with dependency @angular/platform-browser-dynamic @ "9.0.0-next.2" (was "8.2.2")...