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

警告:

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


当前回答

如果你升级了你的Angular版本,你需要改变Angular的版本

@angular-devkit/build-angular

在你

package.json

从旧版本升级到新的angular构建版本。

我已经升级到Angular 10,所以我需要转到 https://www.npmjs.com/package/@angular-devkit/build-angular 并根据Angular 10检查哪个是我的版本。

在我的情况下,我发现版本需要0.1001.7,所以我在我的包中把我的旧版本换成了这个版本。Json,然后运行

npm --save install

这就够了。

其他回答

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

然后在本地项目包中:

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

低于误差 错误:JSON输入意外结束 JSON输入意外结束 以上步骤不能将angular更新到版本6

这应该可以解决问题:

ng update @angular/cli @angular/core

我这样做了,而且成功了

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

我英语说得不流利

但如果我理解了这个问题,是不是项目的本地CLI版本比全局CLI版本要旧?

您想使用全局更新而不是本地旧的吗?

如果是的话,在项目目录npm link @angular/cli中运行一个非常简单的方法就足够了

更多相关主题请访问:https://docs.npmjs.com/cli/link

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