Angular CLI 版本与 Angular 版本不兼容

Shi*_*ank 3 npm angular-cli angular

我的 angular 项目运行良好,但是当我将 Angular 更新到版本 9 时,它开始给我这个错误:

This version of CLI is only compatible with Angular versions 0.0.0 || ^10.0.0-beta || >=10.0.0 <11.0.0,
but Angular version 9.1.1 was found instead.
Run Code Online (Sandbox Code Playgroud)

我更新了 CLI,但它仍然给我同样的错误。

我的 CLI 版本是:

Angular CLI: 10.0.0-next.0
Node: 12.13.0
OS: win32 x64

Angular: 9.1.1
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes
Run Code Online (Sandbox Code Playgroud)

j3f*_*3ff 7

问题

您安装的 CLI 版本不符合您的 Angular 版本的要求,如错误所述:

This version of CLI is only compatible with Angular versions 0.0.0 || ^10.0.0-beta || >=10.0.0 <11.0.0
Run Code Online (Sandbox Code Playgroud)

修复

卸载@angular/cli并确保安装@angular/cli9.1.x版本范围内,使其符合 Angular 9.1 版本的要求。

Angular: 9.1.1
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Run Code Online (Sandbox Code Playgroud)

更新 Angular 项目

@angular/cli在应用程序中卸载并重新安装包,请导航到项目的根文件夹并运行以下命令:

# uninstall previous version
npm uninstall @angular/cli --save-dev

# install 9.1.x specific version
npm install @angular/cli@~9.1.0 --save-dev
Run Code Online (Sandbox Code Playgroud)

--save-dev参数将更新您的package.jsondevDependencies

更新全局依赖

如果已经angular/cli全局安装,则需要-g在命令末尾添加并省略--save-dev参数:

# uninstall previous globally installed version
npm uninstall @angular/cli -g

# install 9.1.x specific version globally
npm install @angular/cli@~9.1.0 -g
Run Code Online (Sandbox Code Playgroud)

如果您不确定安装了哪个全局版本(或者如果您已@angular/cli全局安装),您可以运行以下命令来列出您全局安装的 NPM 包:

npm ls -g --depth=0
Run Code Online (Sandbox Code Playgroud)


Gui*_*rmo 7

如果需要,您可以更新该项目。

在项目根文件夹中写入:

ng update @angular/core @angular/cli
Run Code Online (Sandbox Code Playgroud)

这将使用安装在“node_modules”文件夹中的模块版本升级 package.json 文件。

根据您要更新的版本,有具体的更新说明。请访问Angular 更新指南