如何更改(升级或降级)Angular 版本?

How to Change (Upgrade or Downgrade) Angular version?

我最近安装了 Angular 6,想回去使用 Angular 5.2 如何将我的 Angular 版本从我拥有的任何版本更改为我选择的任何版本?

首先需要卸载,安装cli

npm uninstall -g angular-cli
npm cache clean
npm install -g angular-cli@1.6.1

之后,删除node_modules目录

然后将 package.json 中的软件包版本更改为如下版本

{
  ...
  },
  ...
  "dependencies": {
    "@angular/animations": "5.2.2",
    "@angular/cdk": "^5.2.2",
    "@angular/common": "5.2.2",
    "@angular/compiler": "5.2.2",
    "@angular/core": "5.2.2",
    "@angular/forms": "5.2.2",
    "@angular/http": "5.2.2",
    "@angular/material": "^5.2.2",
    "@angular/platform-browser": "5.2.2",
    "@angular/platform-browser-dynamic": "5.2.2",
    "@angular/router": "5.2.2",
    "@ngrx/core": "^1.2.0",
    "@ngrx/store": "^4.0.3",
    "core-js": "^2.5.1",
    "hammerjs": "^2.0.8",
    "rxjs": "^5.5.2",
    "typescript": "^2.4.2",
    "web-animations-js": "^2.3.1",
    "zone.js": "^0.8.18"
  },
  "devDependencies": {
    "@angular/cli": "1.6.1",
    "@angular/compiler-cli": "5.2.2",
    "@angular/language-service": "5.2.2",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    ...
  }
}

并安装包

npm install

以后类似的问题我会尽量给出一个笼统的回答。

项目中使用的angular版本由安装的angularcli版本决定。可以使用以下命令安装任何特定版本的 angular cli:

npm install --global @angular/cli@x.x.x.

示例:

npm install --global @angular/cli@1.6.6

即使您安装了另一个版本的 angular cli(新的或旧的)。那不应该引起问题。但是为了确保您可以使用:

npm uninstall -g angular-cli

npm cache clean

npm install -g angular-cli@1.6.1

检查当前安装的版本:

# ng version

Angular CLI: 12.1.0
Node: 12.18.4
Package Manager: npm 6.14.6
OS: linux x64

Angular: 12.2.10
... animations, common, compiler, compiler-cli, core, forms
... google-maps, platform-browser, platform-browser-dynamic
... router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1201.0
@angular-devkit/build-angular   12.1.0
@angular-devkit/core            12.1.0
@angular-devkit/schematics      12.1.0
@angular/cdk                    12.1.0
@angular/cli                    12.1.0
@angular/language-service       12.1.0
@schematics/angular             12.1.0
rxjs                            6.6.2
typescript                      4.2.3
    

然后继续安装到您的项目,而不是使用 -g--global

--save 选项指示 NPM 自动将包包含在 package.json 的依赖项部分,从而为您节省一个额外的步骤。

即;

npm i --save @angular/cli@x.x.x

如果你想使用全局的话,

npm i -g @angular/cli@x.x.x

参考:What is the --save option for npm install?