我的当前版本是13。我需要12版本。
我尝试了以下命令:
- ng --version
- npm uninstall -g @angular/cli
- npm cache clean --force
- npm install -g @angular/cli@12
- ng --version
版本仍然显示为13。我该如何解决这个问题?
从基本文件夹中安装与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
现在从您的应用文件夹开始:
package.json
文件,并将@angular/xxx包的所有版本替换为您可以在第一步的ref-app的package.json
文件中找到的版本npm install
在此阶段,Angular包肯定会降级到v12.0;如果您在应用程序上运行了升级脚本(使其升级到v13),则可能需要修复您的应用程序。由于每个应用程序都会有不同的问题进行降级,因此很难给出建议。
最后,如果您想将全局的“ng”也降级:
npm uninstall -g @angular/cli
npm install -g @angular/cli@12.0
根据项目的大小,可能不像以下步骤那么简单,但大多数情况下这样做就可以了:
project/node_modules
。project/package-lock.json
。package.json
中的 @angular
和相关包。npm i
进行安装。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"
...