我经常会遇到这样的问题,不得不把旧的Angular项目和已弃用的Angular依赖项一起启动。

因为我不寻常地运行最新的Node.js版本(至少是后期的LTS版本),我经常遇到这个问题,我不能让旧的项目运行。 我通过使用节点版本管理器解决了这个问题,但我仍然经常遇到这样的问题:我不确定对于Angular版本X来说,使用哪个node .js版本是最好的。

遗憾的是,官方发布说明对这个话题处理得很糟糕,并没有真正的帮助,特别是如果你想知道你不能再使用某个特定的Node.js版本的Angular版本……

是否有一个完整的兼容性列表来检查哪个Angular版本与哪个Node.js版本兼容?


当前回答

我也有类似的问题。我卸载了angular cli并重新安装了之前的版本几次,直到达到angular cli v9,但当我尝试运行“ionic serve”时,我仍然得到相同的消息“angular cli需要v14.15或16.10的最低Node.js版本”。我现在有Angular CLU v9和node v12.20.0(我不能安装更高版本的node.js,因为我的旧笔记本上有windows 7,我不能买新的)。

其他回答

我也有类似的问题。我卸载了angular cli并重新安装了之前的版本几次,直到达到angular cli v9,但当我尝试运行“ionic serve”时,我仍然得到相同的消息“angular cli需要v14.15或16.10的最低Node.js版本”。我现在有Angular CLU v9和node v12.20.0(我不能安装更高版本的node.js,因为我的旧笔记本上有windows 7,我不能买新的)。

Angular CLI version Angular version Node.js version TypeScript version RxJS version
~15.0.0 ~15.0.0 ^14.20.0 || ^16.13.0 || ^18.10.0 ~4.8.4 ^6.5.5 || ^7.4.0
~14.2.0 ~14.2.0 ^14.15.0 || ^16.10.0 >= 4.6.4 < 4.9.0 ^6.5.5 || ^7.4.0
~14.1.3 ~14.1.3 ^14.15.0 || ^16.10.0 >= 4.6.4 < 4.8.0 ^6.5.5 || ^7.4.0
~14.0.7 ~14.0.7 ^14.15.0 || ^16.10.0 >= 4.6.4 < 4.8.0 ^6.5.5 || ^7.4.0
~13.3.0 ~13.3.0 ^12.20.2 || ^14.15.0 || ^16.10.0 >= 4.4.4 < 4.7.0 ^6.5.5 || ^7.4.0
~13.2.6 ~13.2.7 ^12.20.2 || ^14.15.0 || ^16.10.0 >= 4.4.4 <= 4.5.5 ^6.5.5 || ^7.4.0
~13.1.4 ~13.1.3 ^12.20.2 || ^14.15.0 || ^16.10.0 >= 4.4.4 <= 4.5.5 ^6.5.5 || ^7.4.0
~13.0.4 ~13.0.3 ^12.20.2 || ^14.15.0 || ^16.10.0 ~4.4.4 ^6.5.5 || ^7.4.0
~12.2.18 ~12.2.17 ^12.14.1 || ^14.15.0 >= 4.2.4 <= 4.3.5 ^6.5.5 || ^7.0.1
~12.1.4 ~12.1.5 ^12.14.1 || ^14.15.0 >= 4.2.4 <= 4.3.5 ^6.5.5
~12.0.5 ~12.0.5 ^12.14.1 || ^14.15.0 ~4.2.4 ^6.5.5
~11.2.19 ~11.2.14 ^10.13.0 || ^12.11.1 >= 4.0.8 <= 4.1.6 ^6.5.5
~11.1.4 ~11.1.2 ^10.13.0 || ^12.11.1 >= 4.0.8 <= 4.1.6 ^6.5.5
~11.0.7 ~11.0.9 ^10.13.0 || ^12.11.1 ~4.0.8 ^6.5.5
~10.2.4 ~10.2.5 ^10.13.0 || ^12.11.1 >= 3.9.4 <= 4.0.8 ^6.5.5
~10.1.7 ~10.1.6 ^10.13.0 || ^12.11.1 >= 3.9.4 <= 4.0.8 ^6.5.5
~10.0.8 ~10.0.14 ^10.13.0 || ^12.11.1 ~3.9.4 ^6.5.5
~9.1.15 ~9.1.13 ^10.13.0 || ^12.11.1 >= 3.6.5 <= 3.8.3 ^6.5.5
~9.0.7 ~9.0.7 ^10.13.0 || ^12.11.1 >= 3.6.5 <= 3.7.7 ^6.5.5
~8.3.29 ~8.2.14 ^10.9.0 ~3.5.3 ^6.4.0
~8.2.2 ~8.2.14 ^10.9.0 ~3.4.5 ^6.4.0
~8.1.3 ~8.1.3 ^10.9.0 ~3.4.5 ^6.4.0
~8.0.6 ~8.0.3 ^10.9.0 ~3.4.5 ^6.4.0
~7.3.9 ~7.2.15 ^8.9.4 || ^10.9.0 ~3.2.4 ^6.3.3
~7.2.4 ~7.2.15 ^8.9.4 || ^10.9.0 ~3.2.4 ^6.3.3
~7.1.4 ~7.1.4 ^8.9.4 || ^10.9.0 ~3.1.6 ^6.3.3
~7.0.7 ~7.0.4 ^8.9.4 || ^10.9.0 ~3.1.6 ^6.3.3
~6.2.9 ~6.1.10 ^8.9.4 ~2.9.2 ^6.2.2
~6.1.5 ~6.1.10 ^8.9.4 ~2.7.2 ^6.2.2
~6.0.8 ~6.0.9 ^8.9.4 ~2.7.2 ^6.0.0
~1.7.4 ~5.2.11 ^6.9.5 || ^8.9.4 ~2.5.3 <= 5.5.12 < 6.0.0
~1.6.7 ~5.2.11 ^6.9.5 || ^8.9.4 ~2.5.3 <= 5.5.12 < 6.0.0
~1.5.6 >= 5.0.5 <= 5.1.3 ^6.9.5 || ^8.9.4 >= 2.4.2 <= 2.5.3 <= 5.5.12 < 6.0.0
~1.4.10 >= 4.2.6 <= 4.4.7 ^6.9.5 || ^8.9.4 ~2.4.2 ^5.0.3
~1.3.2 >= 4.2.6 <= 4.4.7 ^6.9.5 ~2.4.2 ^5.0.3
~1.2.7 >= 4.0.3 <= 4.1.3 ^6.9.5 ~2.3.4 ^5.0.3
~1.1.3 >= 4.0.3 <= 4.1.3 ^6.9.5 ~2.3.4 ^5.0.3
~1.0.6 >= 4.0.3 <= 4.1.3 ^6.9.5 ~2.2.2 ^5.0.3
1.0.0-rc.4 ~2.4.10 ^6.9.5 ~2.0.10 ^5.0.3
1.0.0-beta.30 ~2.3.1 ^6.9.5 ~2.0.10 ^5.0.3
1.0.0-beta.22-1 (package name: angular-cli) ~2.2.4 ^6.9.5 ~2.0.10 ^5.0.3
1.0.0-beta.20-1 (package name: angular-cli) ~2.1.2 ^6.9.5 ~2.0.10 ^5.0.3
1.0.0-beta.17 (package name: angular-cli) ~2.0.2 ^6.9.5 ~2.0.10 ^5.0.3

图片来源:https://gist.github.com/LayZeeDK/c822cc812f75bb07b7c55d07ba2719b3作者:Lars Gyrup Brink Nielsen

我承认这实际上并没有回答你的问题。但它确实为当前版本提供了一些相关信息(这是我来这里的原因)。

下面是Angular当前版本的官方说法:

https://angular.io/guide/setup-local

“Angular需要一个当前的、活动的或维护的LTS版本 node . js”。

在注释中,您将看到一个包的链接。Json文件,包含一个“引擎”部分。对于Angular 11,它说:

  "engines": {
    "node": ">= 10.13.0",
    "npm": ">= 6.11.0",
    "yarn": ">= 1.13.0"
  },

可以查看package的发布版本。在GitHub的json和确定引擎。节点设置?