试图更新 angular 到 13 打破了一堆东西现在试图回到 angular 11 怎么办?

tried to update angular to 13 broke a bunch of stuff now trying to go back to angular 11 how to?

首先,我是唯一一个在这个项目上工作的人,所以我们可以完全核对除代码之外的所有内容。

我试过类似的方法但没有效果

npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/cli@11

当我尝试运行 ng serve现在的情况是这样的

bullshit@ChristohersMBP2 decksite % ng serve
This version of CLI is only compatible with Angular versions ^13.0.0,
but Angular version 12.2.16 was found instead.

Please visit the link below to find instructions on how to update Angular.
https://update.angular.io/

我所做的有点奏效的是恢复到我项目中的旧提交,但现在不再是一个选项。

所以我的想法是清除我的 package.json 并删除 package-lock.json 并删除 node_modules

并尝试再次安装 angular 11 cli(以及我需要的所有其他 npm 库,因为我不再填充我的 package.json。

或者更好的办法是从旧提交中获取 package.json,因为这仍然是一个选项,然后在我的本地执行任何我必须执行的操作以完全清除所有非源代码的内容。删除所有内容中的当前 package.jsonpackage-lock.jsonnode_modules 和 运行 npm uninstall? IDK我必须做的任何事情都可以擦除。

将新的 package.json 放入我的 angular 项目中,然后点击 npm install 命令。

这似乎是一个非常好的解决方案,我打对地方了吗?

我通常通过 (ng update) 执行以下操作:

  1. 确保您完全投入并正常运作。创建一个分支 'angular_13_update'
  2. 运行 ng update,它会返回一个关于要更新的​​事情的报告。
  3. 我通常根据列表 npm install @angular/x, y, z
  4. 看看进展如何。使用 3rd 方的东西有时会导致一些投诉。 --force 有时可以完成那部分。
  5. 如果该位成功测试构建并查看结果出现了什么问题。

我相信从 11 点到 13 点,您将进行 Webpack 5 更新和其他重大更改。因此,根据您拥有多少第 3 方,即 commonjs 样式包,您可能需要使用 architect->build->options:

调整 angular.json 文件
"allowedCommonJsDependencies": [
                            "uuid",
                            "ulid",
                            "url",
                            "lodash/get",
                            "lodash/isEmpty",
                            "lodash/isEqual",
                            "@aws-amplify/core",
..etc