如何将 Angular 7 升级到 Angular 13

How to Upgrade Angular 7 to Angular 13

我有一个非常过时的 Angular material 项目,我需要更新到 13

在 运行 npm outdated 之后我看到了这些结果

根据 Angular update guide 我一次只需要升级一个 mayor 版本,它推荐这些命令:

cmd /C "set "NG_DISABLE_VERSION_CHECK=1" && npx @angular/cli@8 update @angular/cli@8 @angular/core@8"

但是在 运行 该命令之后我得到了这些错误:

我尝试手动更新其中的每一个包,但它变成了依赖关系的噩梦,目前我无法解决。

我希望能够升级到 Angular 13(进行所需的代码更改)并且我想知道解决此问题的正确方法是什么。

更新

使用 --force 时也会失败并出现不同的错误

当运行这个命令时:

ng 更新 --all --force

你一步一步来,正如文档告诉你的那样。

您可以在升级命令中添加一个--force。然后它会忽略所有这些 incompatible peer dependencies. 然后你可以尝试启动你的应用程序,如果它有效,一切都很好。

如果没有,则升级产生问题的软件包。

对 angular 的每个主要版本更改重复此步骤。

第二个错误告诉您尝试添加以下标志:retry this command with --force, or --legacy-peer-deps

这对您解决问题有帮助吗?

您可以使用 ng update --all --forcenpm install --save --legacy-peer-deps。它基本上 avoids/ignores 所有 dependency-checks 并在适用的情况下更新所有包。虽然一般不推荐,但我不得不以这种方式进行更新,因为其他建议似乎对我不起作用。