This document provides a comprehensive look at the compatibility of various Angular and Nx versions with Node.js, NVM, TypeScript, and RxJS. For more detailed and updated information, please refer to the official Angular and Nx documentation or the compatibility matrices on GitHub.
Angular Version | Angular CLI Version | Node.js Version | NVM Version | TypeScript Version | RxJS Version |
---|---|---|---|---|---|
18.1.x || 18.2.x | 18.1.x || 18.2.x | ^18.19.1 || ^20.11.1 || ^22.0.0 | 0.39.1 | >=5.4.0 <5.6.0 | ^6.5.3 || ^7.4.0 |
18.0.x | 18.0.x | ^18.19.1 || ^20.11.1 || ^22.0.0 | 0.39.1 | >=5.4.0 <5.5.0 | ^6.5.3 || ^7.4.0 |
17.3.x | 17.3.x | ^18.13.0 || ^20.9.0 | 0.39.1 | >=5.2.0 <5.5.0 | ^6.5.3 || ^7.4.0 |
17.1.x || 17.2.x | 17.1.x || 17.2.x | ^18.13.0 || ^20.9.0 | 0.39.1 | >=5.2.0 <5.4.0 | ^6.5.3 || ^7.4.0 |
17.0.x | 17.0.x | ^18.13.0 || ^20.9.0 | 0.39.1 | >=5.2.0 <5.3.0 | ^6.5.3 || ^7.4.0 |
16.1.x || 16.2.x | 16.1.x || 16.2.x | ^16.14.0 || ^18.10.0 | 0.39.1 | >=4.9.3 <5.2.0 | ^6.5.3 || ^7.4.0 |
16.0.x | 16.0.x | ^16.14.0 || ^18.10.0 | 0.39.1 | >=4.9.3 <5.1.0 | ^6.5.3 || ^7.4.0 |
15.1.x || 15.2.x | 15.1.x || 15.2.x | ^14.20.0 || ^16.13.0 || ^18.10.0 | 0.38.0 | >=4.8.2 <5.0.0 | ^6.5.3 || ^7.4.0 |
15.0.x | 15.0.x | ^14.20.0 || ^16.13.0 || ^18.10.0 | 0.38.0 | ~4.8.2 | ^6.5.3 || ^7.4.0 |
14.2.x || 14.3.x | 14.2.x || 14.3.x | ^14.15.0 || ^16.10.0 | 0.37.2 | >=4.6.2 <4.9.0 | ^6.5.3 || ^7.4.0 |
14.0.x || 14.1.x | 14.0.x || 14.1.x | ^14.15.0 || ^16.10.0 | 0.37.2 | >=4.6.2 <4.8.0 | ^6.5.3 || ^7.4.0 |
13.3.x || 13.4.x | 13.3.x || 13.4.x | ^12.20.0 || ^14.15.0 || ^16.10.0 | 0.36.0 | >=4.4.3 <4.7.0 | ^6.5.3 || ^7.4.0 |
13.1.x || 13.2.x | 13.1.x || 13.2.x | ^12.20.0 || ^14.15.0 || ^16.10.0 | 0.36.0 | >=4.4.3 <4.6.0 | ^6.5.3 || ^7.4.0 |
13.0.x | 13.0.x | ^12.20.0 || ^14.15.0 || ^16.10.0 | 0.36.0 | ~4.4.3 | ^6.5.3 || ^7.4.0 |
12.2.x | 12.2.x | ^12.14.0 || ^14.15.0 | 0.35.3 | >=4.2.3 <4.4.0 | ^6.5.3 || ^7.0.0 |
12.1.x | 12.1.x | ^12.14.0 || ^14.15.0 | 0.35.3 | >=4.2.3 <4.4.0 | ^6.5.3 |
12.0.x | 12.0.x | ^12.14.0 || ^14.15.0 | 0.35.3 | ~4.2.3 | ^6.5.3 |
11.2.x | 11.2.x | ^10.13.0 || ^12.11.0 | 0.34.0 | >=4.0.0 <4.2.0 | ^6.5.3 |
11.1.x | 11.1.x | ^10.13.0 || ^12.11.0 | 0.34.0 | >=4.0.0 <4.2.0 | ^6.5.3 |
11.0.x | 11.0.x | ^10.13.0 || ^12.11.0 | 0.34.0 | ~4.0.0 | ^6.5.3 |
10.2.x | 10.2.x | ^10.13.0 || ^12.11.0 | 0.33.0 | >=3.9.0 <4.1.0 | ^6.5.3 |
10.1.x | 10.1.x | ^10.13.0 || ^12.11.0 | 0.33.0 | >=3.9.0 <4.1.0 | ^6.5.3 |
10.0.x | 10.0.x | ^10.13.0 || ^12.11.0 | 0.33.0 | ~3.9.0 | ^6.5.3 |
9.1.x | 9.1.x | ^10.13.0 || ^12.11.0 | 0.32.0 | >=3.6.0 < 3.9.0 | ^6.5.3 |
9.0.x | 9.0.x | ^10.13.0 || ^12.11.0 | 0.32.0 | >=3.6.0 < 3.8.0 | ^6.5.3 |
8.2.x | 8.2.x || 8.3.x | ^10.9.0 | 0.31.0 | >=3.4.2 < 3.6.0 | ^6.4.0 |
8.0.x || 8.1.x | 8.0.x || 8.1.x | ^10.9.0 | 0.31.0 | ~3.4.2 | ^6.4.0 |
7.2.x | 7.2.x || 7.3.x | ^8.9.0 || ^10.9.0 | 0.30.0 | >=3.1.3 < 3.3.0 | ^6.0.0 |
7.0.x || 7.1.x | 7.0.x || 7.1.x | ^8.9.0 || ^10.9.0 | 0.30.0 | ~3.1.3 | ^6.0.0 |
6.1.x | 6.1.x || 6.2.x | ^8.9.0 | 0.29.0 | >=2.7.2 < 3.0.0 | ^6.0.0 |
6.0.x | 6.0.x | ^8.9.0 | 0.29.0 | ~2.7.2 | ^6.0.0 |
5.2.x | 5.2.x || 5.3.x | ^6.9.0 || ^8.9.0 | 0.28.0 | >=2.4.2 <2.7.0 | ^5.5.0 |
5.0.x || 5.1.x | 5.0.x || 5.1.x | ^6.9.0 || ^8.9.0 | 0.28.0 | ~2.4.2 | ^5.5.0 |
4.2.x || 4.3.x || 4.4.x | 4.2.x || 4.3.x || 4.4.x | ^6.9.0 || ^8.9.0 | 0.27.0 | >=2.1.6 <2.5.0 | ^5.0.1 |
4.0.x || 4.1.x | 4.0.x || 4.1.x | ^6.9.0 | 0.27.0 | >=2.1.6 <2.4.0 | ^5.0.1 |
2.x | - | ^6.9.0 | 0.26.0 | >=2.7.0 < 3.0.0 | ^4.1.0 |
For more detailed and updated information, please refer to the official Angular documentation or the compatibility matrix on GitHub:
Nx Version | Node.js Version | NVM Version | TypeScript Version | RxJS Version | Angular Version |
---|---|---|---|---|---|
16.x | ^18.0.0, ^20.0.0 | 0.39.1 | ^5.2.0 | ^7.8.0 | 16.x |
15.x | ^16.0.0, ^18.0.0 | 0.38.0 | ^4.8.0 | ^7.5.0 | 15.x |
14.x | ^14.0.0, ^16.0.0 | 0.37.2 | ^4.3.0 | ^7.2.0 | 14.x |
13.x | ^12.0.0, ^14.0.0 | 0.36.0 | ^3.9.0 | ^6.6.0 | 13.x |
12.x | ^10.0.0, ^12.0.0 | 0.35.3 | ^3.7.0 | ^6.5.0 | 12.x |
11.x | ^8.0.0, ^10.0.0 | 0.34.0 | ^3.5.0 | ^6.3.0 | 11.x |
10.x | ^6.0.0, ^8.0.0 | 0.33.0 | ^3.2.0 | ^6.2.0 | 10.x |
9.x | ^4.0.0, ^6.0.0 | 0.32.0 | ^3.0.0 | ^6.1.0 | 9.x |
8.x | ^4.0.0 | 0.31.0 | ^2.9.0 | ^6.0.0 | 8.x |
For the most accurate and up-to-date information, always refer to the official Nx documentation:
-
Identify the Angular or Nx version you want to use:
- Refer to the tables above to find the compatible versions of Node.js, NVM, TypeScript, and RxJS.
-
Install NVM (Node Version Manager):
- Follow the instructions on the NVM GitHub repository to install NVM.
-
Install the required Node.js version using NVM:
- Use the command
nvm install <version>
to install the required Node.js version. - Example: To install Node.js version 18.13.0, run:
nvm install 18.13.0
- Use the command
-
Create a
.nvmrc
file:- In the root directory of your project, create a file named
.nvmrc
. - Add the required Node.js version to this file.
- Example: For Node.js version 18.13.0, the
.nvmrc
file should contain:18.13.0
- In the root directory of your project, create a file named
-
Use the Node.js version specified in
.nvmrc
:- Run the command
nvm use
to switch to the Node.js version specified in the.nvmrc
file.
- Run the command
-
Install the required TypeScript and RxJS versions:
- Use npm or yarn to install the required versions of TypeScript and RxJS.
- Example: To install TypeScript version 5.2.0 and RxJS version 6.6.0, run:
npm install [email protected] [email protected]
-
Choose Angular 16.x:
- Compatible Node.js versions: ^18.13.0, ^20.9.0
- Compatible NVM version: 0.39.1
- Compatible TypeScript version: >=5.2.0 < 5.5.0
- Compatible RxJS version: ^6.6.0
-
Install NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
-
Install Node.js 18.13.0:
nvm install 18.13.0
-
Create
.nvmrc
file:echo "18.13.0" > .nvmrc
-
Use Node.js version specified in
.nvmrc
:nvm use
-
Install TypeScript and RxJS:
npm install [email protected] [email protected]
By following these steps, you can ensure that your development environment is set up with the correct versions of Node.js, TypeScript, and RxJS for your chosen Angular or Nx version.By following these steps, you can ensure that your development environment is set up with the correct versions of Node.js, TypeScript, and RxJS for your chosen Angular or Nx version.