416

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?

3
  • Are you reinstalling node modules each time? Commented Feb 16, 2020 at 13:46
  • 3
    No, I use a version manager to switch between Node.js versions. They remain installed, but through symlinks it is determined which version is currently used.
    – jowey
    Commented Feb 17, 2020 at 20:16
  • 1
    Just giving a comment to help search engines, if you have the error "npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve..." seems to happen because you installed latest nodeJs version for an old Angular version. This post helped me to fix Angular11 by installing node v12 (when latest node version is v16).
    – Yogurtu
    Commented Aug 19, 2022 at 2:08

5 Answers 5

989

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

17
  • 58
    I would have prefered an official resource, but I guess this is the best we can get for now (and it seems pretty complete and up to date), thus thank you.
    – jowey
    Commented Feb 17, 2020 at 20:27
  • 3
    If you are here you might want to enable multiple versions of node. this is how on nubo.eu/Install-Multiple-Node-Versions-On-Windows (links for mac/linux are on the page, in case the page vanish here is the package: github.com/coreybutler/nvm-windows)
    – JimiSweden
    Commented Jun 23, 2021 at 16:03
  • 2
    No unofficial resource for this? The Angular v11 => v12 upgrade guide only states You can no longer use Angular with Node.js version 10 or older. What a useless comment in relation to the unofficial documentation. I've tried Node v16 and it completely failed w/ Angular 12. If I buy software from the store I need to know if it runs on Windows. The box tells me. So why can't Google tell us this simple info? Commented Jan 10, 2022 at 20:16
  • 1
    How should the column 'Typescript' be read? It says '4.6.x/4.8.x' for Angular 14. But the link states >= 4.6.0 < 4.8.0, so shouldn't the column state '4.6.x/4.7.x' ? Commented Aug 17, 2022 at 13:18
  • 7
    There is now an official table with this: angular.io/guide/versions Commented Apr 20, 2023 at 10:43
27

I acknowledge that this does not actually answer your question. But it does provide some relevant information for current version (which is what brought me here).

Here is the official word from Angular on current version:

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

"Angular requires a current, active LTS, or maintenance LTS version of Node.js."

In the notes you will see a link to a package.json file that contains an "engines" section. For Angular 11 it says:

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

It might be possible to look at the released version of package.json in GitHub and determine the engines.node setting?

2
  • 6
    Nice idea. A new Angular 13 project has 647 hits for engines within package-lock.json. However, I guess we're looking for the CLI's NodeJS compat here which is "node": "^12.20.0 || ^14.15.0 || >=16.10.0" Commented Nov 4, 2021 at 15:42
  • Related discussion on Angular's Github repo. Commented Dec 7, 2021 at 7:13
6

Official document by Angular - https://angular.io/guide/versions

They keep it updated and also have a separate list of unsupported versions.

1

I have a similar problem. I uninstalled angular cli and reinstaled a previous version several times, until reaching angular cli v9, but when I try to run "ionic serve" I still get the same message "The Angular CLI requires a minimum Node.js version of either v14.15 or 16.10". Always the same message though I now have Angular CLU v9 and node v12.20.0 (I can't install a higher version of node.js because I have windows 7 in an old notebook and I can't buy a new one).

1

You can use the Angular Update Guide to find the node version supported. This is official guide from Google.

Just pretend you are upgrading from a old version. For instance, if you are on Angular 15, set the guide to upgrade from 14 to 15 and it will let you know what node version you need.

example: enter image description here

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.