我正在尝试使用此处的说明将Angular 7应用程序升级到Angular 8 。一切顺利,直到最后一步:
ng更新@ angular / material
这将Angular Material软件包更新为8.1.2,但也将@ angular / *软件包升级为一个相当奇怪的不需要的版本:〜9.0.0-next.0
这是有问题的(我不得不摆脱一个非必需的dev依赖关系,该依赖关系要求Angular <= 8),因为我不想超越最新的稳定版本8。
我该如何解决?
问题是,在运行前,ng update @angular/material
你的一些依赖已经上8.2.0
而@angular/material
仍然在7版本。
ng update @angular/material
显然,仅检查是否有可用的更新@angular/material
-不会检查可能在此途中更新的其他依赖项。因此,当您启动命令时,它会注意到有可用的较新版本,并且继续进行更新。在执行更新之前,其他依赖项也已更新,以及它们在版本8上(并且存在版本9)。
这就是为什么在更新之前必须始终注意所有版本都已对齐的原因。
还有一个小小的观察结果:9.0.0-next.0
在您进行更新的一个小时之前发布了。因此,如果您在此之前做过,那么您将不会遇到任何这些问题。
可能的解决方法是手动编辑,package.json
并将依赖项的版本更改^9.0.0-next.0
为^8.2.0