当运行ng serve时,我得到一个关于我的全局CLI版本大于本地版本的警告。我没有注意到这个警告有任何问题,但我想知道两个版本是否应该同步?另外,如果你有一个全局版本,是否有必要有一个本地版本?

警告:

你的Angular CLI全局版本(1.1.1)比你的本地版本(1.0.6)更高。使用的是Angular CLI的本地版本。


当前回答

做这些事

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

其他回答

还有另一种方法可以避免全局安装以创建新应用程序。 就我而言,我使用的是Angular 9,但客户需要的是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=.

执行以下命令:npm install——save-dev @angular/cli@latest

运行上述命令后,控制台可能会弹出下面的消息

Angular CLI的配置格式已经改变,您的 命令可以自动更新现有配置 命令如下:ng update @angular/cli

我这样做了,而且成功了

NPM ng install /config——save-dev -dev @angular/cli@latest @angular-devkit/build-angular -global -g @angular/cli@latest

在版本中

NPM install——save-dev @angular/cli@latest

关闭命令提示符并再次打开 ng版本 如果你的PowerShell不识别ng命令,在你的PowerShell运行这个命令:

Set-ExecutionPolicy -scope currentuser -executionpolicy remotessigned

如果您只是希望关闭此警告,请运行该命令

ng config -g cli.warnings.versionMismatch false

这很有用,因为有时你想要有不同的本地和全局版本。例如,你的全局版本可能有最新的Angular,因为你将在新项目中使用它,但必须在较旧的Angular版本中运行旧项目。