I upgraded my Angular CLI to v16 today (previously had v14.1).
Now whenever I run ng I get an error saying the CLI requires a minimum version of node.js:
The Angular CLI requires a minimum Node.js version of either v14.20, v16.14 or v18.10
Thing is, running node -v confirms I have v18.3 installed.
The list here: https://update.angular.io/?v=14.0-16.0 says CLI v16 support node.js v18. Surely CLI supports v18 as well then, no? Not sure why I getting the error then.
According to Angular - Actively supported versions it's ^16.14.0 || ^18.10.0
for Angular v16.
When the Angular v15
was released the support for Node.js v18
was added. Since the "current" version of Node.js 18 was at that time v18.10.0
it's the minimal required. v18.3
is lower and older version than v18.10
.
There are three phases that a Node.js release can be in: 'Current', 'Active Long Term Support (LTS)', and 'Maintenance'. Odd-numbered release lines are not promoted to LTS - they will not go through the 'Active LTS' or 'Maintenance' phases.
- Current - Should incorporate most of the non-major (non-breaking) changes that land on nodejs/node main branch.
- Active LTS - New features, bug fixes, and updates that have been audited by the LTS team and have been determined to be appropriate and stable for the release line.
- Maintenance - Critical bug fixes and security updates. New features may be added at the discretion of the LTS team - typically only in cases where the new feature supports migration to later release lines.
You can check more about this release cycle in here
Based on the quote above the 14, 16 and 18 were LTS (currently only 18 is LTS and 16 is still maintained) but 15 and 17 were never LTS. This is a reason why Angular doesn't have these versions in the Actively supported versions.