Recherche de site Web

NVM - Installer et gérer plusieurs versions de Node.js sous Linux


Node Version Manager (NVM en abrégé) est un simple script bash pour gérer plusieurs versions actives de node.js sur votre système Linux. Il vous permet d'installer plusieurs versions de node.js et d'afficher toutes les versions disponibles pour l'installation et toutes les versions installées sur votre système.

Nvm prend également en charge l'exécution d'une version spécifique de node.js et peut afficher le chemin d'accès à l'exécutable là où il a été installé, et bien plus encore.

Dans cet article, nous expliquerons comment installer Node Version Manager (NVM) pour gérer plusieurs versions actives de node.js sur votre distribution Linux.

Installation de NVM (Node Version Manager) sous Linux

Pour installer ou mettre à jour nvm sur votre distribution Linux, vous pouvez télécharger le script d'installation automatique à l'aide des outils de ligne de commande curl ou wget, comme indiqué.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
OR
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

Le script d'installation automatique ci-dessus clone le référentiel nvm dans ~/.nvm dans votre répertoire personnel et ajoute les commandes source requises à vos scripts de démarrage shell, c'est-à-dire ~/ .bash_profile, ~/.zshrc, ~/.profile ou ~/.bashrc, selon le programme shell que vous utilisent comme indiqué dans la sortie suivante.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15916  100 15916    0     0  34227      0 --:--:-- --:--:-- --:--:-- 34301
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
remote: Enumerating objects: 359, done.
remote: Counting objects: 100% (359/359), done.
remote: Compressing objects: 100% (305/305), done.
remote: Total 359 (delta 40), reused 168 (delta 28), pack-reused 0
Receiving objects: 100% (359/359), 219.46 KiB | 6.86 MiB/s, done.
Resolving deltas: 100% (40/40), done.
* (HEAD detached at FETCH_HEAD)
  master
=> Compressing and cleaning up git repository

=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> You currently have modules installed globally with `npm`. These will no
=> longer be linked to the active version of Node when you install a new node
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
=> override the binaries of modules installed with `nvm`:
...

Une fois l'installation terminée, fermez la fenêtre de votre terminal actuelle et ouvrez-en une nouvelle. Ou, recherchez simplement votre fichier de profil shell pour charger nvm. Par exemple, si vous utilisez bash, exécutez la commande suivante :

source ~/.bashrc
OR
source ~/.profile

Ensuite, vérifiez si nvm a été installé sur votre système à l'aide de la commande suivante.

command -v nvm

nvm

Il affichera le résultat sous la forme « nvm » si l'installation a réussi.

Installer plusieurs versions de Node.js à l'aide de NVM

Il est maintenant temps d'apprendre à utiliser Node Version Manager sous Linux. Pour télécharger, compiler et installer la dernière version de node, exécutez la commande suivante :

nvm install node 

Notez que dans la commande ci-dessus, « node » est un alias pour la dernière version.

Downloading and installing node v20.0.0...
Downloading https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.xz...
########################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.0.0 (npm v9.6.4)
Creating default alias: default -> node (-> v20.0.0)

Pour installer une version spécifique de « nœud », répertoriez d'abord les versions de nœud disponibles, puis installez la version comme indiqué.

nvm ls-remote
nvm install 19.0.0  
Downloading and installing node v19.0.0...
Downloading https://nodejs.org/dist/v19.0.0/node-v19.0.0-linux-x64.tar.xz...
########################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v19.0.0 (npm v8.19.2)

Une fois que vous avez installé une version Node.js à l'aide de nvm, le système doit maintenant pointer vers Node.js et npm. versions sous nvm. Vous pouvez vérifier l'emplacement du binaire/commande node et npm utilisé en exécutant la commande which comme suit :

which node
/root/.nvm/versions/node/v20.0.0/bin/node

# which npm
/root/.nvm/versions/node/v20.0.0/bin/npm

# node -v
v20.0.0

# npm -v
9.6.4

Liste des versions Node.js installées

Vous pouvez vérifier toutes les versions installées avec la commande suivante :

nvm ls
->      v19.0.0
        v20.0.0
         system
default -> node (-> v20.0.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v20.0.0) (default)
stable -> 20.0 (-> v20.0.0) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.0 (-> N/A)
lts/hydrogen -> v18.16.0 (-> N/A)

Choisir la version du nœud pour un projet

C'est là que nvm devient intéressant. Vous pouvez désormais utiliser nvm pour choisir la version de node.js à utiliser pour chaque projet sur lequel vous travaillez, en fonction des exigences. Voyons comment procéder, comme expliqué ci-dessous.

Ouvrez plusieurs terminaux et accédez aux répertoires du projet. Pour ce guide, nous avons deux projets sous ~/projects/app-server et ~/projects/test-ui qui nécessitent de manière trompeuse les versions de nœud 19.0.0 et 20.0.0. .

------------ Project 1 ------------ 
cd ~/projects/api-server
nvm use 19.0.0
node -v

------------ Project 2 ------------
cd ~/projects/test-ui
nvm use 20.0.0
node -v

Par exemple, si un package global est installé lorsque la version 19.0.0 est active, lorsque vous passez à la version 20.0.0, vous devez réinstaller le package global sous la nouvelle version.

Il est important de noter que vous pouvez afficher le chemin d'accès à l'exécutable sur lequel une version spécifique du nœud a été installée comme suit :

nvm which 20.0.0
nvm which 19.0.0
nvm which system  #check system-installed version of a node using “system” alias

Définir la version Node.js par défaut sous Linux

De plus, pour définir manuellement une version de nœud par défaut à utiliser dans tout nouveau shell, utilisez l'alias « par défaut » comme indiqué.

nvm alias default 20.0.0
nvm alias default system
nvm alias default 19.0.0

Désinstallation de la version Node.js sous Linux

Pour désinstaller ou supprimer une version de Node.js, lancez la commande suivante (n'oubliez pas de remplacer 19.0.0 par le numéro de version) :

nvm uninstall 19.0.0

Désinstallation de NVM sous Linux

Pour supprimer nvm manuellement de votre système, exécutez les commandes suivantes :

rm -rf "$NVM_DIR"
OR
rm -rf ~/.nvm

Ensuite, modifiez ~/.bashrc (ou le fichier de configuration du profil shell applicable, comme indiqué ci-dessus) et supprimez les lignes de configuration suivantes :

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion

Pour plus d'informations, consultez nvm --help ou accédez au référentiel Node Version Manager Github : https://github.com/nvm-sh/nvm.

C'est tout! Node Version Manager est un simple script bash permettant de gérer plusieurs versions actives de node.js sur votre système Linux. Utilisez le formulaire de commentaires ci-dessous pour poser des questions ou partager vos commentaires avec nous.