Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular ng更新到特定版本_Angular - Fatal编程技术网

Angular ng更新到特定版本

Angular ng更新到特定版本,angular,Angular,我想将Angular从5.0版更新到6.1版。上的说明建议使用ng update@angular/core进行更新。但是,这将直接更新到版本7,而不是版本6 ng update文档建议使用--to将更新到特定版本。然而,这似乎不起作用。使用的确切命令是:ng update@angular/core--6.1.0,但此命令将更新为7.0.0 编辑: 我尝试过使用——从=5.0.0--to=6.1.9,但没有成功。我注意到我们仍然在使用angularcliversion1.6.4。此版本支持--ne

我想将Angular从5.0版更新到6.1版。上的说明建议使用
ng update@angular/core
进行更新。但是,这将直接更新到版本7,而不是版本6

ng update
文档建议使用
--to
将更新到特定版本。然而,这似乎不起作用。使用的确切命令是:
ng update@angular/core--6.1.0
,但此命令将更新为7.0.0

编辑:
我尝试过使用
——从=5.0.0--to=6.1.9
,但没有成功。我注意到我们仍然在使用
angularcli
version
1.6.4
。此版本支持
--next
,根据文档应
(默认值:false)安装下一版本,而不是最新的。
但是,这会将
package.json
更改为使用所有
@angular/*
包的
7.0.0版

根据您需要从中定义的文档

--to=to     

Version up to which to apply migrations. Only available with a single package being updated, and only on migrations only. Requires from to be specified. Default to the installed version detected.

在这里添加这个,因为这会出现在搜索结果中,而这里提供的答案对我不起作用


对我有效的是使用
ng update@angular/core@7.0.0
。这可能应该在Angular Update Guide()中注意到,但事实并非如此。由于该页面在一次跨多个主要版本升级时会弹出通知,但使用建议的命令
ng update@angular/core
升级到最新版本(可能跨多个主要版本),也许这应该更改。

您可以使用
@
符号指定每个所需软件包的版本。当前要将Angular升级到新版本(或您指定的版本),请使用以下命令:

ng update @angular/cli @angular/core
在这种情况下,假设我想升级到
8.1.1
,而不是
8.2.0
的最新版本,我将使用以下内容:

ng update @angular/cli@8.1.1 @angular/core@8.1.1

这与您在执行任何npm安装时指定特定版本的方式相同。

要删除循环依赖项 对于所有更新,避免循环依赖(无需使用ng update@angular/cli@8.1.1@棱角/core@8.1.1etc),通常使用以下命令

ng update--force--all

如果您要升级到旧版本,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
(您可以通过转到来定义包的特定版本,例如-@angular/core@9.1.2as 9.1.2是针对angular9的@angular/core软件包的最新稳定版本

这会将您的项目更新为angular v9

同样,对于v10,您需要遵循上述流程

[注意:对于最新的angular版本(撰写本文时为v10),您无需在更新期间提供版本,您可以直接更新为:

ng update@angular/cdk@angular/cli--force

您还可以使用
npm-outlated
查看需要更新的过期软件包


希望这个答案能对您有所帮助。如果您发现任何问题,请发表意见,我将尝试提供解决方案。

也可以尝试从定义
(因为文档中说,在定义
时需要
)假设您有版本
5.0
;那么您的命令应该是
ng update@angular/core--from=5.0--to=6.1.0
documentation states>version to to to to to to to to to to to to to to to to to to to to application migration。仅在更新单个软件包时可用,并且仅在迁移时可用。需要指定from。默认为安装的版本检测到。关键部分是
,并且仅在迁移时使用
,因此--from和--to也仅在使用
--migrateOnly=true
时应用。到目前为止,我还没有找到一种方法告诉ng update对6.x版本执行更新(包括更新package.json)。根据下一篇文档,>每个包都遵循[@scope/]packageName[@version-range或dist-tag]。因此此行为记录在angular/clit repo中/core@7.0.0```但这可能会改变。我认为这种行为也应该被记录下来。我最终会出现类似于
包“ng chartjs”与“@angular/common”(需要“*”不兼容的对等依赖关系的错误,将安装“9.0.0-next.9”)
。我不明白它为什么要安装v9,也不明白为什么不匹配*。您也可以执行
ng update@angular/core@7
这将为您提供7Thnx版本的最后一个次要版本,这是我所需要的。现在要创建一个票据,他们不应该更改package.jsonIt中的缩进。这对我根本不起作用。我使用了
,以及
仅迁移
-字面上没有变化。脚本在
找到xxx依赖项后刚刚结束。
@TetraDev原始评论是从2018年开始的。请查看文档以获取最新信息。