# Installer Node.js
[Node.js](https://nodejs.org/fr) est un environnement d’exécution JavaScript. Plus simplement, c'est un outil permettant d'exécuter des programmes écrits en JavaScript sur un ordinateur.
## Versions
Node.js est en développement permanent, ce qui signifie que de nombreuses versions sont disponibles à l'utilisation. On distingue les version `LTS` (long term support) et les mises à jour classiques, plus nombreuses.
Afin d'installer et de gérer plusieurs versions de Node.js sur une seule machine, on peut installer un gestionnaire de version de node, autrement appeler `nvm` (node version manager).
## MacOS
### Installation de nvm
Sur MacOS, on installera [nvm](https://github.com/nvm-sh/nvm) via une commande dans le terminal :
```sh
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
```
:::warning Attention
Si c'est la première fois que vous tentez d'utiliser le terminal ou certaines commandes, MacOS vous demandera d'installer les command line tools. C'est une suite d'outils indispensable pour utiliser certaines fonctionnalités en ligne de commande (dans un terminal).
Vous pouvez déclencher cette installation via la commande `xcode-select --install`
:::
Pour vérifier que l'installation s'est bien passée, fermez le terminal puis relancez-le. Lancez enfin `nvm --version` dans le terminal. Vous devez obtenir une réponse similaire à :
```sh{2}
$ nvm --version
0.39.3
```
Si vous obtenez un message d'erreur indiquant que vous n'avez pas de fichier `.bashrc` ou `.zshrc`, lancez la commande suivante pour créer ce dernier :
```sh
# macOs Mojave (10.14) ou inférieure
touch ~/.bashrc
# macOs Catalina (10.15) ou supérieure
touch ~/.zshrc
```
Relancez maintenant la commande d'installation de `nvm` puis `nvm --version` pour vérifier l'installation.
### Installation de node
Nous pouvons maintenant [installer une ou plusieurs versions](https://github.com/nvm-sh/nvm#long-term-support) de Node.js via nvm.
```sh
# installer une version précise de node
nvm install 20.2.0
# installer la dernière version lts en date
nvm install lts/*
# installer une version lts précise
nvm install lts/gallium
```
### Utiliser une version installée
:::info
Cette étape est inutile si vous n'avez qu'une seule version installée.
:::
nvm fera de la première version que vous installerez la version par défaut de votre machine. On peut changer de version en utilisant `nvm use VERSION_INSTALLÉE`.
```sh
# lister les versions installées sur la machine
nvm ls
# choisir une version à utiliser
nvm use 18.16.0
```
## Windows
### Installation de nvm
Comme pour [git](./git.md), il faut installer `nvm` via un exécutable sur Windows. Rendez-vous sur [cette page](https://github.com/coreybutler/nvm-windows/releases) et téléchargez la dernière version de `nvm-setup.exe`.
### Installation de node
Ouvrez une fenêtre `powershell` windows puis lancez :
```sh
# installer une version précise de node
nvm install 20.2.0
# installer la dernière version lts en date
nvm install lts
```
### Utiliser une version installée
nvm attendra qu'on lui dise d'utiliser une version installée pour fonctionner. On peut choisir ou changer de version en utilisant `nvm use VERSION_INSTALLÉE`.
```sh
# lister les versions installées sur la machine
nvm list
# choisir une version à utiliser
nvm use lts
```