gpt4 book ai didi

angular - 尝试通过 ng update 升级到 Angular Material 8 时得到 @angular/* 版本 ~9.0.0-next-0。为什么会有这种差异?

转载 作者:太空狗 更新时间:2023-10-29 17:45:54 24 4
gpt4 key购买 nike

我正在尝试使用 here 中的说明将 Angular 7 应用程序升级到 Angular 8 .一切顺利,直到最后一步:

ng update @angular/material

这将 Angular Material 包更新到 8.1.2,但也将 @angular/* 包升级到一个相当奇怪的不需要的版本:~9.0.0-next.0

Angular Material 7 -> 8 upgrade effect

这是有问题的(我不得不摆脱一个非必要的开发依赖,它需要 Angular <= 8),因为我不想超出 version 8 which is the latest stable one .

我应该如何解决这个问题?

最佳答案

问题是,在运行 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

关于angular - 尝试通过 ng update 升级到 Angular Material 8 时得到 @angular/* 版本 ~9.0.0-next-0。为什么会有这种差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57297479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com