Références :

Node et ses versions

Pour installer Angular, vous aurez besoin d'une version de Node compatible avec la version en cours d'Angular.

A ce jour (juin 2023), la version en cours d'Angular est la 16.02.

Pour vérifier la compatibilité de votre version de Node : https://unpkg.com/browse/@angular/core@16.0.2/package.json

Commande dans un terminal pour vérifier votre version de node en ligne de commande:

node --version
v18.14.2

J'utilise NVM (node Version Manager) pour gérer les versions de node. Quelques commandes NVM à connaître :

nvm list // pour voir les versions disponibles
nvm use 18.12.1 // par exemple pour utiliser cette version
nvm install 17.7.2 // si jamais j'ai besoin spécifiquement de cette version
nvm uninstall 14.19.1 // à ton avis ?

Installation d'Angular CLI

Angular CLI est un outil de Google pour démarrer un projet en ligne de commande. Il utilise Webpack comme un outil de construction et le projet ainsi créés comprennent du packaging, des tests, ...

npm install -g @angular/cli

Pour windows

Si ça se passe mal sous windows, voyez ce tuto 

Path

Il faudra sans doute ajouter le chemin vers l'exécutable d'Angular dans le path qui est une variable d'environnement.

Sur la machine que j'utilise, cela donne :

variable environnement path windows angular

Script d'exécution PowerShell

Le script d'exécution PowerShell est désactivé par défaut sous Windows. Pour pouvoir exécuter des scripts PowerShell, ce qui est nécessaire pour des binaires globals npm, mettez en place la politique d'exécution ci-dessous. Attention cependant à lire les messages qui apparaissent après avoir exécuter une commande et suivez les indications. 

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

Vérification de la version d'Angular

ng version

Création d'une première application

ng new angular-first-project

Selon votre système d'exploitation et votre version d'Angular CLI des questions vous seront posées. Dans le cadre de cet exercice, j'ai demandé à installer le système de routes et j'ai gardé les css (et non pas sass, scss ou less).