我想将Angular从5.0版更新到6.1版。 https://update.angular.io/中的说明建议使用ng update @angular/core
进行更新。但这会直接更新到版本7,而不是版本6。
ng update
的文档建议使用--to
将更新为特定版本。但是,这似乎不起作用。使用的确切命令是:ng update @angular/core --to 6.1.0
但这将更新为7.0.0
我尝试使用--from=5.0.0 --to=6.1.9
,但这没用。我注意到我们正在使用angular-cli
版本1.6.4
。此版本支持--next
,根据文档,(Default: false) Install the next version, instead of the latest.
应该package.json
,但这会将7.0.0
更改为使用所有@angular/*
软件包的set
版本
答案 0 :(得分:11)
在此处添加此内容,因为它出现在搜索结果中,并且此处提供的答案对我不起作用。
对我有用的是使用ng update @angular/core@7.0.0
。这可能应该在《 Angular更新指南》(https://update.angular.io/)中加以说明,但事实并非如此。由于在一次跨多个主要版本升级时,该页面会发出通知,但是使用推荐的命令ng update @angular/core
升级到最新版本(可能跨多个主要版本),因此应该改变了。
答案 1 :(得分:6)
您可以使用@
符号在所需的每个 软件包上指定版本。当前将recommend approach升级到较新版本(或您指定的版本)的方法是使用以下命令:
ng update @angular/cli @angular/core
在这种情况下,我想升级到8.1.1
而不是最新版本的8.2.0
,我将使用以下内容:
ng update @angular/cli@8.1.1 @angular/core@8.1.1
这与进行here中所述的任何npm安装时指定特定版本的方式相同。
答案 2 :(得分:2)
根据文档,您将需要定义“发件人”。
x
答案 3 :(得分:2)
删除循环依赖项
为了进行所有更新并避免循环依赖(通常无需使用ng update @ angular / cli @ 8.1.1 @ angular / core @ 8.1.1等),请使用以下命令
ng update --force --all
答案 4 :(得分:0)
如果您要升级到较旧的版本,请按照Angular的建议先升级到下一个主要版本,而不要直接升级到最新版本(例如当前最新版本是v10,而您要从v8升级,则建议先升级到最新版本)升级到v9,然后再升级到v10),则必须提供将依赖项/软件包更新为与Angular9兼容的最新版本。
要升级,请首先在
的帮助下检查所需的依赖项 ng update
-将列出您必须更新的所有依赖项(参见图片)
参考图片,有6个软件包要更新,我们将使用ng update命令将其更新为要升级到的版本(在本例中为v9):
ng update @angular/cdk@9 @angular/cli@9 @angular/core@9 @angular/material@9 @ngx-pwa/local-storage@9 rxjs --force
(您可以通过转到npm packages来定义软件包的特定版本,例如-@ angular / core @ 9.1.2,因为9.1.2是用于angular9的@ angular / core软件包的最新稳定版本)
这会将您的项目更新为angular v9。
类似地,对于v10,您需要遵循上述过程。
[注意:对于最新的角度版本(在撰写本文时为v10),您无需在更新过程中提供该版本,并且可以直接更新为:
ng update @angular/cdk @angular/cli --force
您还可以使用npm outdated
来查看需要更新的过时软件包。
希望这个答案对您有所帮助。如果您发现任何问题,请发表评论,我将尝试提供解决方案。