Global Angular CLI version greater than local version

Angular Cli

Angular Cli Problem Overview


When running ng serve I get this warning about my global CLI version being greater than my local version. I don't notice any issues from this warning, but I was wondering if the two versions should be in sync? Also, Is it necessary to have a local version if you have a global version?

The warning:

> Your global Angular CLI version (1.1.1) is greater than your local version (1.0.6). The local Angular CLI version is used.

Angular Cli Solutions


Solution 1 - Angular Cli

To answer one of the questions, it is necessary to have both a global and local install for the tools to work.

If you try to run ng serve on an application without the local install of the CLI (global install only), you will get the following error.

>You have to be inside an Angular CLI project in order to use the serve command.

It will also print this message:

Please take the following steps to avoid issues:
"npm install --save-dev @angular/cli@latest"

Run that npm command to update the CLI locally, and avoid the warning that you are getting.

Other question: It looks like they do not have to be in sync, but it's probably best that they are in order to avoid any unusual behavior with the tool, or any inconsistencies with the code the tool generates.

Why do we need both the global install, and a local install?

The global install is needed to start a new application. The ng new <app-name> command is run using the global installation of the CLI. In fact, if you try to run ng new while inside the folder structure of an existing CLI application, you get this lovely error:

> You cannot use the new command inside an Angular CLI project.

Other commands that can be run from the global install are ng help, ng get/set with the --global option, ng version, ng doc, and ng completion.

The local install of the CLI is used after an application has been built. This way, when new versions of the CLI are available, you can update your global install, and not affect the local install. This is good for the stability of a project. Most ng commands only make sense with the local version, like lint, build and serve, etc.

According to the CLI GitHub readme, to update the CLI you must update the global and local package. However, I have used the CLI where the global and local version vary without any trouble so far. If I ever run across an error related to having the global and local CLI versions out of sync, I will post that here.

Solution 2 - Angular Cli

This is how I solved the issue.

Install latest Angular CLI package locally

Copy and run these commands

ng --version
npm install --save-dev @angular/cli@latest
ng --version

Solution 3 - Angular Cli

This works for me: it will update local version to latest

npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install

to verify version

  ng --version


Solution 4 - Angular Cli

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest

Then in your Local project package:

rm -rf node_modules dist 
npm install --save-dev @angular/cli@latest
npm i 
ng update @angular/cli 
ng update @angular/core
npm install --save-dev @angular-devkit/build-angular

Was getting below error
Error: Unexpected end of JSON input
Unexpected end of JSON input
Above steps helped from this post https://stackoverflow.com/questions/50543318/cant-update-angular-to-version-6/50543790

Solution 5 - Angular Cli

npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest

Your existing configuration can be updated automatically by running the following command:

ng update @angular/cli

or:

npm install

Solution 6 - Angular Cli

Run the following Command: npm install --save-dev @angular/cli@latest

After running the above command the console might popup the below message

> The Angular CLI configuration format has been changed, and your > existing configuration can be updated automatically by running the > following command: ng update @angular/cli

Solution 7 - Angular Cli

In my case I just used this command into project:

ng update @angular/cli

Solution 8 - Angular Cli

I'm not fluent in English

but if I understand the problem, is it that locally in the project you have an older version of CLI than globally?

And would you like to use this global newer instead of the local older one?

If so, a very simple method is enough to run in the project directory npm link @angular/cli

more in the subject on the page: https://docs.npmjs.com/cli/link

Solution 9 - Angular Cli

You just need to update the AngularCli

npm install --save-dev @angular/cli@latest

Solution 10 - Angular Cli

First find out the global angular-cli version by running

ng --version

The above code will show what version is the global and local angular-cli versions.

If you want the global and local angular cli to be same you can just do

npm install --save-dev @angular/cli@1.7.4

where 1.7.4 is your global angular-cli version

Then if you run ng serve --open your code should run.

Solution 11 - Angular Cli

Two ways to solve this global and local angular CLI version issue.

  1. Keep a specific angular-cli version for both environments.
  2. Goto latest angular-cli version for both environments.

1. Specific angular-cli version

First, find out which angular version you want to keep on the global and local environment.

ng --version

for example: here we keeping local angular CLI version 8.3.27

So, we have to change the global version also on 8.3.27. use cmd>

npm install --save-dev @angular/cli@8.3.27 -g

here, '-g' flag for a set global angular-cli version.

2. Goto latest angular version for both CLI environment.

npm install --save-dev @angular/cli@latest -g  
npm install --save-dev @angular/cli@latest 

Solution 12 - Angular Cli

This is how I fixed it. in Visual Studio Code's terminal, First cache clean

npm cache clean --force

Then updated cli

ng update @angular/cli

If any module missing after this, use below command

npm install

Solution 13 - Angular Cli

Update Angular CLI for a workspace (Local)

npm install --save -dev @angular/cli@latest

Note: Make sure to install the global version using the command with ‘-g’ is if it installed properly.

npm install -g @angular/cli@latest

Run Update command to get a list of all dependencies required to be upgraded

ng update

Next Run update command as below for each individual Angular core package

ng update @angular/cli @angular/core

However, I had to add ‘–force’ and ‘–allow-dirty’ flags command additionally to fix all other pending issues.

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

Solution 14 - Angular Cli

There is another way to avoid the global installation to create a new application. In my case I'm using Angular 9 but the customer requires Angular 8.

# create an empty directories
mkdir angular-8-cli
mkdir my-angular-8-project

# init empty npm project
cd angular-8-cli
npm init -y

# install local angular 8 cli
npm i @angular/cli@8

# go to your angular 8 project
cd ../my-angular-8-project

# use previously installed angular 8 cli to create a new angular 8 project
../angular-8-cli/node_modules/.bin/ng new my-angular-8-project --directory=.

Solution 15 - Angular Cli

if you upgraded your Angular Version, you need to change the version of

@angular-devkit/build-angular

inside your

package.json

from your old version to the new angular build version upgraded.

I had upgraded to Angular 10, so i needed to go to https://www.npmjs.com/package/@angular-devkit/build-angular and check which is my version according to Angular 10.

In my case, i founded that the version needs to be 0.1001.7, so i changed my old version to this version in my package.json and run

npm --save install

That was enough.

Solution 16 - Angular Cli

If you just wish to turn off this warning, run the command

ng config -g cli.warnings.versionMismatch false

This is useful because some times you want to have different local & global versions. For example, you might have the latest Angular for your global version as you'll use it on new projects, but will have to run an old project in older Angular version.

Solution 17 - Angular Cli

It is caused because global and local angular versions are different. To update global angular version, first you need to run the following command in command prompt or vs code terminal

npm install --save-dev @angular/cli@latest

After that if there are any vulnerability found then run the following command to fix them

npm audit fix

Solution 18 - Angular Cli

// install npm check updates

npm i -g npm -check-updates

// Run npm-check-updates

npm -u

// you should then get a list of all your packages to be updated to the newest version

// Install the updated packages as prompted

npm install

Solution 19 - Angular Cli

npm install --save-dev @angular-devkit/build-angular - did helped ng update @angular/cli -> did create angular.json and other updates.

Collecting installed dependencies... Found 58 dependencies.

 ** Executing migrations for package '@angular/cli' **
            Updating karma configuration
            Updating configuration
            Removing old config file (.angular-cli.json)
            Writing config file (angular.json)
            Some configuration options have been changed, please make sure to update any  npm scripts which you may have modified. DELETE .angular-cli.json CREATE angular.json (4394 bytes) CREATE browserslist (429 bytes) UPDATE karma.conf.js (993 bytes) UPDATE public/tsconfig.spec.json (295 bytes) UPDATE package.json (2618 bytes) UPDATE tsconfig.json (437 bytes) UPDATE tslint.json (3135 bytes) UPDATE public/polyfills.ts (587 bytes) UPDATE public/tsconfig.app.json (199 bytes) npm WARN @angular/core@5.2.9 requires a peer of zone.js@^0.8.4 but none is installed. You must install peer dependencies yourself.

Solution 20 - Angular Cli

Just do these things

npm install --save-dev @angular/cli@latest
npm audit fix
npm audit fix --force

Solution 21 - Angular Cli

Specify the module using the --module parameter. For example, if the main module is app.module.ts, run this:

ng g c new-component --module app

Or if you are in an other directory then

ng g c component-name --module ../

Solution 22 - Angular Cli

this should solve the issue:

ng update @angular/cli @angular/core

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRichView Question on Stackoverflow
Solution 1 - Angular CliR. RichardsView Answer on Stackoverflow
Solution 2 - Angular CliBehrouzMoslemView Answer on Stackoverflow
Solution 3 - Angular ClihoogwView Answer on Stackoverflow
Solution 4 - Angular CliSaurabhView Answer on Stackoverflow
Solution 5 - Angular CliMontasir MirghaniView Answer on Stackoverflow
Solution 6 - Angular CliTahir77667View Answer on Stackoverflow
Solution 7 - Angular CliAkosthaView Answer on Stackoverflow
Solution 8 - Angular CliCisSasGotView Answer on Stackoverflow
Solution 9 - Angular Cliuser10196907View Answer on Stackoverflow
Solution 10 - Angular Clivikas etagiView Answer on Stackoverflow
Solution 11 - Angular CliSurendranath SonawaneView Answer on Stackoverflow
Solution 12 - Angular CliR15View Answer on Stackoverflow
Solution 13 - Angular CliMOHAMMAD SIKANDARView Answer on Stackoverflow
Solution 14 - Angular Clisuper_kamilView Answer on Stackoverflow
Solution 15 - Angular CliToniView Answer on Stackoverflow
Solution 16 - Angular CliKolappan NView Answer on Stackoverflow
Solution 17 - Angular CliTakesha KaluarachchiView Answer on Stackoverflow
Solution 18 - Angular Cliuser1613158View Answer on Stackoverflow
Solution 19 - Angular CliMPVView Answer on Stackoverflow
Solution 20 - Angular CliSazzad Mahmud TusherView Answer on Stackoverflow
Solution 21 - Angular CliSyed Tabish AliView Answer on Stackoverflow
Solution 22 - Angular Cliuser5919789View Answer on Stackoverflow