如何将Angular 7降级到Angular 6。

7

我尝试通过运行以下npm命令将Angular 7降级到Angular 6

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

然而,我的 package.json 文件中仍然显示了 Angular/cli 7版本。我需要帮助将 angular7 降级到 angular6


在 package.json 文件中,更改所有需要降级的软件包的版本号,然后运行 rm -rf node_modules 命令删除所有内容,最后运行 npm i 命令。 - baao
2个回答

16

您需要在package.json文件中设置这些包的版本号。

"@angular/animations": "^7.0.0",
"@angular/cdk": "7.3.3",
"@angular/common": "^7.0.0",
"@angular/compiler": "7.2.6",
"@angular/core": "7.2.6",
"@angular/forms": "^7.0.0",
"@angular/http": "^7.0.0",
"@angular/material": "7.3.3",
"@angular/material-moment-adapter": "^7.3.3",
"@angular/platform-browser": "^7.0.0",
"@angular/platform-browser-dynamic": "^7.0.0",
"@angular/router": "^7.0.0",
"rxjs": "6.4.0",

以及在 dev-dependencies 中

"@angular/compiler-cli": "^7.2.6",
"@angular-devkit/build-angular": "0.13.3",
"typescript": "3.2.4",
"@angular/cli": "~7.3.3",

还要确保降级所有需要根据Angular版本降级的库。在第一步后检查错误消息...

完成上述更改后,运行

rm -rf node_modules
从项目的根文件夹开始,删除所有软件包
然后运行
npm i 

然后你就可以放心去做了


嗨bambam,我已经为Angular6安装了flexLayout,但是我遇到了以下错误:“无法找到名称'MediaQueryListEventMap'”,我已经尝试解决了,但没有帮助。 - SaranViji
请查看该软件包的 GitHub 页面,找到支持 Angular 6 的版本,然后在您的 package.json 文件中进行更改,并按照答案中所述再次执行相同的操作,从删除 node_modules 开始。@SaranViji - baao
嗨,我通过安装以下版本解决了问题:“npm install @angular/flex-layout@6.0.0-beta.18”。 - SaranViji
感谢您的帮助。 - SaranViji

1
我认为您忘记了在@angular/cli之前加上@。 尝试使用以下行在全局范围内进行更改。
ng --version

npm uninstall -g @angular/cli
npm cache clean --force

npm install -g @angular/cli@6.1.1
ng --version

使用相同的方式,进入您的项目文件夹,不需要使用-g,以在本地进行更改。

另一种方法是手动编辑package.json文件,删除node_modules文件夹,并在您的项目文件夹中重新运行npm install


Op的问题仍然存在,angular/cli版本没有改变,仍然显示所有版本为7。 - SaranViji
你可以执行以下命令来查看你的 angular/cli 全局版本:npm list -global --depth 0 - veben
这远远不够。 - baao
否则可以手动更改为7到6版本吗?一旦我安装了@angular/cli@6.1.1 - SaranViji

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