Skip to content

Instantly share code, notes, and snippets.

@CodeByKwakes
Last active October 6, 2024 13:26
Show Gist options
  • Save CodeByKwakes/0ff5e98853fc0e9fdcf37a15493fbc2b to your computer and use it in GitHub Desktop.
Save CodeByKwakes/0ff5e98853fc0e9fdcf37a15493fbc2b to your computer and use it in GitHub Desktop.
Angular & Nx Version Compatibility #angular

Angular and Nx Version Compatibility

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 Compatibility

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 Compatibility

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:

Instructions for Using Compatibility Tables

Step-by-Step Guide

  1. 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.
  2. Install NVM (Node Version Manager):

  3. 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
  4. 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
      
  5. 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.
  6. 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:

Example Workflow

  1. 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
  2. Install NVM:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  3. Install Node.js 18.13.0:

    nvm install 18.13.0
  4. Create .nvmrc file:

    echo "18.13.0" > .nvmrc
  5. Use Node.js version specified in .nvmrc:

    nvm use
  6. Install TypeScript and RxJS:

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment