如何降级Angular版本?

3

我的当前版本是13。我需要12版本。

我尝试了以下命令:

  • ng --version
  • npm uninstall -g @angular/cli
  • npm cache clean --force
  • npm install -g @angular/cli@12
  • ng --version

版本仍然显示为13。我该如何解决这个问题?


Angular不支持降级版本,您可以在Angular更新官方网站上进行查看。https://update.angular.io/ - Bansi29
2个回答

6
您需要采取一些措施来安全地降级。
  1. 查看您需要的nodejs版本和angular cli版本。这似乎是一个不错的参考:链接
  2. 创建一个新的Angular项目,作为参考。

从基本文件夹中安装与Angular 12.x兼容的cli:

npm install @angular/cli@12.0

一个 package.json 文件将被添加,需要在其中添加 ng 脚本:

{
  "scripts": {
    "ng": "ng"
  },
  "dependencies": {
    "@angular/cli": "12.0"
  }
}

使用本地angular/cli(使用默认选项)安装angular:

npm run ng new ref-app

现在从您的应用文件夹开始:

  1. 删除node_modules文件夹
  2. 打开您应用的package.json文件,并将@angular/xxx包的所有版本替换为您可以在第一步的ref-app的package.json文件中找到的版本
  3. 运行npm install

在此阶段,Angular包肯定会降级到v12.0;如果您在应用程序上运行了升级脚本(使其升级到v13),则可能需要修复您的应用程序。由于每个应用程序都会有不同的问题进行降级,因此很难给出建议。

最后,如果您想将全局的“ng”也降级:

  1. 卸载它:
npm uninstall -g @angular/cli

在目标版本中安装它。
npm install -g @angular/cli@12.0

1

根据项目的大小,可能不像以下步骤那么简单,但大多数情况下这样做就可以了:

  1. 提交更改,以便您有一个检查点。
  2. 删除 project/node_modules
  3. 删除 project/package-lock.json
  4. 修改 package.json 中的 @angular 和相关包。
  5. 运行 npm i 进行安装。
  6. 确认应用程序编译无误。使用 npm audit 进行跟进,以发现建议。

所有 Angular 包都遵循主版本分母 - 这意味着如果您想降级到 Angular 15 -> Angular 14,则所有 @angular 包都应该以 14 开头。值得庆幸的是,大多数较大、知名的包 tend to follow the pattern e.g. @ngrx。我们使用插入符号 ^ 安装最新的次要版本。

来自 package.json

"dependencies": {
    "@angular/animations": "^15.0.4",
    "@angular/cdk": "^15.0.4",
    "@angular/common": "^15.0.4",
    "@angular/compiler": "^15.0.4",
    "@angular/forms": "^15.0.4",
    "@angular/material": "^15.0.0",
    "@ngrx/effects": "^15.1.0",
    "@ngrx/store-devtools": "^15.1.0",
...

package.json

"dependencies": {
    "@angular/animations": "^14.0.0",
    "@angular/cdk": "^14.0.0",
    "@angular/common": "^14.0.0",
    "@angular/compiler": "^14.0.0",
    "@angular/forms": "^14.0.0",
    "@angular/material": "^14.0.0",
    "@ngrx/effects": "^14.0.0",
    "@ngrx/store-devtools": "^14.0.0"
...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接