保留 Angular 2 而不升级是否安全?

Is it safe to keep Angular 2 and not upgrade?

我们有一个旧版应用程序,它从一开始就使用 Angular 2.4。目前 package.json 正在覆盖许多包和我们的构建,我们正在使用 npm install --force 因为多个相互冲突的对等依赖性,无法解决某些包的依赖性等。我可以预见我们会继续使用 override 用于其他依赖更新和扩展 package.json.

我想了解:

  1. 如果我们不升级 Angular 版本并继续使用 Angular 2.4 的风险?
  2. 可以在生产中的 build/release 流水线中使用 npm install --force 吗?

简短的回答是

旧版本的软件包会随着时间的推移“衰退”。

  • 有时因为软件包的某个版本具有不再维护的依赖项
  • 或(更糟)因为它们的 n-th 级依赖性不再维持。
  • 一旦某个版本超出 LTS 条款(或像 angular v2 and older are 那样被弃用),您也会开始丢失其文档。

然后还有一个未知数,即您的包的锁定版本必须 运行 具有其依赖项的较新版本。而且您必须自己提供一些修复程序。

像 angular 这样的软件包的 100 多个依赖项存在很多安全问题,只能通过升级来解决。

您的应用可能仍然可以强制更新依赖项。但它肯定会暴露出相当多的已知问题,新版本已经解决了这些问题。