Existe-t-il une liste des versions compatibles d'Angular / Angular-CLI et Node.js ?

Le framework Angular de Google est un des frameworks les plus utilisés dans le langage JavaScript. Il fournit des outils puissants pour créer votre site internet ou votre application web. Il a connu de nombreuses versions au fur et à mesure des années. À chaque fois, le framework doit être installé à l'aide du moteur d'exécution NodeJS. De son côté, NodeJS a aussi connu de nombreuses versions au fur et à mesure des années, son développement étant très actif. Ces différentes versions provoquent donc des compatibilités particulières, et si vous souhaitez travailler avec une ancienne version d'Angular, vous allez également devoir utiliser une version spécifique de NodeJS.

Si vous devez travailler avec une version plus ancienne d'Angular, vous allez devoir également utiliser une version plus ancienne de NodeJS. Pour cela, il existe des outils permettant d'avoir sur son ordinateur plusieurs versions de NodeJS simultanément. Vous pouvez par exemple utiliser "nvm" ou encore "n". Ces outils vous permettront d'installer des versions plus anciennes sans devoir désinstaller NodeJS à chaque fois.

Vous devez ensuite savoir quelle version de NodeJS installer pour lancer votre projet. Le développeur "LayZeeDK", spécialiste du développement Angular et auteur d'un livre sur le sujet, a mis en ligne sur son compte GitHub une matrice faisant la correspondance entre les versions d'Angular et celles de NodeJS : https://gist.github.com/LayZeeDK/c822cc812f75bb07b7c55d07ba2719b3. Utilisez cette matrice pour connaître la bonne version de NodeJS à installer.

Une autre solution possible est d'examiner la documentation de la version d'Angular de votre projet. Dans le fichier "package.json" lié à chaque version d'Angular, vous trouverez une section "engines". Cette section détaille les prérequis de version pour les outils d'installation, dont NodeJS. Voici par exemple les prérequis pour l'utilisation de la version 11 d'Angular :

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

AngularJS