node.jsangularangular-cli

Is there a compatibility list for Angular / Angular-CLI and Node.js?


I periodically run into the problem, having to spin up old Angular projects with deprecated dependencies of Angular.

Because I unsually run the latest Node.js version (at least lates LTS version) I often had the problem, that I wasn't able to get the old projects running. I solved this by using a node version manager, but still I often have the problem that I'm not sure what is the best Node.js version to use for Angular Version X.

Sadly the official release notes handle this topic shabbily and are not a true help, especially if you like to know as of which Angular Version you can't use a specific Node.js version anymore...

Is there a complete compatibility list to check which Angular version is compatible with which Node.js version?


Solution

  • UPDATE: 2024 The new docs introduced a new resource for version compatibility

    Alternatively you can navigate to compatibility versions by using ngvm, e.g:
    npx -y ngvm compat


    Since April 2023 Angular docs provide a table of compatible versions:

    Angular CLI version Angular version Node.js version TypeScript version RxJS version
    19.0.x 19.0.x ^18.19.1 || ^20.11.1 || ^22.0.0 >=5.5.0 <5.7.0 ^6.5.3 || ^7.4.0
    18.1.x || 18.2.x 18.1.x || 18.2.x ^18.19.1 || ^20.11.1 || ^22.0.0 >=5.4.0 <5.6.0 ^6.5.3
    18.0.x 18.0.x ^18.19.1 || ^20.11.1 || ^22.0.0 >=5.4.0 <5.5.0 ^6.5.3 | ^7.4.0
    17.3.x 17.0.x ^18.13.0 || ^20.9.0 >=5.2.0 <5.5.0 ^6.5.3 || ^7.4.0
    17.1.x||17.2.x 17.0.x ^18.13.0 || ^20.9.0 >=5.2.0 <5.4.0 ^6.5.3 || ^7.4.0
    17.0.x 17.0.x ^18.13.0 || ^20.9.0 >=4.9.3 <5.3.0 ^6.5.3 || ^7.4.0
    ~16.2.6 ~16.2.10 ^16.14.0 || ^18.10.0 >=4.9.3 <5.2.0 ^6.5.5 || ^7.4.0
    ~16.1.0 ~16.1.0 ^16.13.0 || ^18.10.0 >=4.9.3 <5.1.0 ^6.5.5 || ^7.4.0
    ~16.0.0 ~16.0.0 ^16.13.0 || ^18.10.0 >=4.9.3 <5.1.0 ^6.5.5 || ^7.4.0
    ~15.2.0 ~15.2.0 ^14.20.0 || ^16.13.0 || ^18.10.0 >=4.8.2 <5.0.0 ^6.5.5 || ^7.4.0
    ~15.1.0 ~15.1.0, ^14.20.0 || ^16.13.0 || ^18.10.0 >=4.8.4 <5.0.0 ^6.5.5 || ^7.4.0
    ~15.0.5 ~15.0.4 ^14.20.0 || ^16.13.0 || ^18.10.0 ~4.8.4 ^6.5.5 || ^7.4.0
    ~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

    This has originally published here by Lars Gyrup Brink Nielsen