Angular 15 CLI is compatible with node version 18.12.1. But after downgrading to Angular CLI 14 the existing node version is unsupported. I'm finding the maximum node version which is compatible with Angular 14 CLI.
-
Maybe the compatibility-list shown here could be useful for you: https://stackoverflow.com/questions/60248452/is-there-a-compatibility-list-for-angular-angular-cli-and-node-js – kellermat Jan 07 '23 at 13:37
-
1thanks @kellermat and I have noted some thing also when downgrading I will put it as an answer – Nimasha Madhushani Jan 08 '23 at 00:02
-
@kellermat Do you know, why angular 15 is not compatible with the latest node version? – Nimasha Madhushani Jan 09 '23 at 01:41
-
Thank you for the explanation @kellermat. I am glad if you like to add this valuable point to the answer I have put below. – Nimasha Madhushani Jan 09 '23 at 17:41
-
1Ok sure, I will do so then. Happy for continuously replying with very important points – Nimasha Madhushani Jan 09 '23 at 17:49
-
1I suddenly realized that we should have focused much more on the difference between a 'compatible Node.js version' and a 'supported Node.js version' (in respect to a particular Angular version). I therefore removed my previous comments and created a comprehensive answer instead. – kellermat Jan 09 '23 at 20:41
2 Answers
The latest node version is unsupported by Angular 14. But compatible with Angular 15.
Why angular 15 is not compatible with the latest node version?
Node v18.13.0 (LTS) was released on 2023-01-06, so it was after the release of Angular 15.0.0 (2022-11-16). As a consequence Angular 15.0.0 only guarantees compatibility with Node 18.10.x.
But, in node version 14.17.3, cannot find module 'node:assert'
. Node version 16.16.0 is working for me with Angular 14.
Steps to downgrade node version:
Run command prompt as administrator.
Then, check the installed node version by using
node -v
.Now, you have to install
nvm
. You can download NVM executable file (nvm-setup.exe
) by this Link and install it on your machine. Then for Windows and nvm , the command is:nvm install <version>
.
NVM, short for Node Version Manager, is a command line tool for managing and switching to different versions of Node.js.
Now you have to check the nvm list installed in your machine. To that run
nvm list
in your command prompt.After that it shows which version is Currently using 64-bit executable
Then you can switch it to the version that you are expecting by
nvm use <version>
.Now command prompt will show as below,
Now using node v16.16.0 (64-bit)
Comand prompt:
C:\Users\Acer>nvm -v
1.1.10
C:\Users\Acer>nvm install v16.10.0
Downloading node.js version 16.10.0 (64-bit)...
Extracting node and npm...
Complete
C:\Windows\system32>nvm list
18.12.1
16.16.0
16.10.0
* 14.17.3 (Currently using 64-bit executable)
C:\Windows\system32>nvm use 16.16.0
Now using node v16.16.0 (64-bit)
C:\Windows\system32>node -v
v16.16.0
C:\Users\Acer>nvm list
18.12.1
* 16.16.0 (Currently using 64-bit executable)
16.10.0
14.17.3
Now, you can see * 16.16.0 (Currently using 64-bit executable)
.

- 190
- 3
- 17
I suggest to make a clear distinction between "being compatible" vs. "being supported".
Node.js versions that are compatible with a particular Angular version
If a Node.js version is compatible with a particular Angular version, it means you can use both at the same time, but they have not necessarily been tested in combination.
E.g. package.json
of @angular/cli 14.0.0
reveals that this version is compatible to all minor and patch versions of Node.js 14
(14.x.x) as well as all versions equal or greater than Node 16.10.0
(even the latest 19.x.x):
"node": "^14.15.0 || >=16.10.0",
Hint: You can find the info above under https://www.npmjs.com/package/@angular, when go to the "Versions" tab, choose the version you are interested in and then go back to the "Code"-tab, where you open package.json
.
Node.js versions that are supported by a particular Angular version
If a Node.js version is (officially) supported by a particular Angular version, it means the Angular developers have tested them in combination and they will provide support if the combination causes any issues (the latter will not be the case if only "compatibility" is given). So being "supported" is a much stricter criterion than just being "compatible".
E.g. @angular/cli 15.0.0
supports all patch-versions of Node.js 18.10
(18.10.x). This makes sense since Node.js 18.10.0
was released shortly before Angular 15
.
Hint: You can find the supported Node.js-versions in the official update-documentation of Angular. E.g. for Angular 15
: https://angular.io/guide/update-to-version-15
Conclusion
The thread title should actually read "Why is node version 18.12.1 not supported by Angular CLI 14". Compatibility, on the other hand, will be fulfilled by any future Node.js version, since Angular CLI 14 states: >=16.10.0
. It is even likely that Angular 14 CLI
works smoothly with "Node.js 18.12.1". At least in my own tests there have been no problems so far.

- 2,859
- 2
- 4
- 21