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 de visualiser toutes les versions disponibles pour l’installation ainsi que 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 vers l’exécutable 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.
Table des matières
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’auto-installation à l’aide des outils en 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’auto-installation ci-dessus clone le dépôt nvm dans ~/.nvm
de 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, en fonction du programme shell que vous utilisez, 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 votre fenêtre de terminal actuelle et ouvrez-en une nouvelle ou, simplement, sourcez 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 en utilisant la commande suivante.
# command -v nvm nvm
Elle affichera la sortie comme ‘nvm‘ si l’installation a réussi.
Installer plusieurs versions de Node.js en utilisant NVM
Maintenant, il est temps d’apprendre comment 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 « node », commencez par lister les versions de node 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 de Node.js en utilisant nvm, le système doit désormais pointer vers les versions de Node.js et npm sous nvm. Vous pouvez vérifier l’emplacement de la commande/binaire node et npm utilisés 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 de 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 de Node pour un projet
C’est là que nvm devient intéressant. Maintenant, vous pouvez utiliser nvm pour choisir la version de Node.js à utiliser pour chaque projet sur lequel vous travaillez, en fonction des besoins. Voyons comment faire, comme expliqué ci-dessous.
Ouvrez plusieurs terminaux et déplacez-vous dans les répertoires du projet. Pour ce guide, nous avons deux projets sous ~/projects/app-server
et ~/projects/test-ui
qui nécessitent la version de Node 19.0.0 et 20.0.0 respectivement.
------------ 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 vous avez un paquet global installé lorsque la version 19.0.0 est active, lorsque vous passez à la version 20.0.0, vous devez réinstaller le paquet global sous la nouvelle version.
Il est important de noter que vous pouvez visualiser le chemin vers l’exécutable où une version spécifique de Node 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 par défaut de Node.js sous Linux
De plus, pour définir manuellement une version par défaut de node à utiliser dans tout nouveau shell, utilisez l’alias “default” comme indiqué.
# nvm alias default 20.0.0 # nvm alias default system # nvm alias default 19.0.0
.nvmrc
initialization file in your project root directory (or any parent directory) and add a node version number or any other flags or usage options that nvm understands, in it. Then use some of the commands we have just looked at above to operate with the specified version in the file.Désinstallation de la version de Node.js sous Linux
Pour désinstaller ou supprimer une version de Node.js, exécutez 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, éditez ~/.bashrc (ou le fichier de configuration de profil de shell applicable, tel que mentionné 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 rendez-vous sur le dépôt GitHub de Node Version Manager : https://github.com/nvm-sh/nvm.
C’est tout ! Node Version Manager est un simple script bash pour gérer plusieurs versions actives de node.js sur votre système Linux. Utilisez le formulaire de feedback ci-dessous pour poser des questions ou partager vos commentaires avec nous.
Source:
https://www.tecmint.com/nvm-install-multiple-nodejs-versions-in-linux/