Comment changer de versions de Node.js sur Linux en utilisant NVM (Guide étape par étape)

La gestion de différentes versions de Node.js peut devenir compliquée, surtout si vous travaillez sur plusieurs projets nécessitant chacun leur propre configuration Node.js. Node Version Manager (NVM) facilite le passage entre les versions de Node.js sur Linux de manière simple et propre. Dans ce guide, vous apprendrez exactement comment installer NVM, changer de versions de Node, définir des versions par défaut et résoudre rapidement les problèmes courants.
Points clés
- NVM aide à gérer plusieurs versions de Node.js sans conflits.
- Exécutez toujours les commandes NVM et Node.js sans
sudo
pour éviter les problèmes de permissions.
Étape 1 : Installer NVM sur Linux
Exécutez cette commande dans votre terminal :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
Ce script télécharge et installe NVM automatiquement.
Vérifier l’installation
Rechargez votre shell :
source ~/.bashrc # Pour les utilisateurs de Bash
source ~/.zshrc # Pour les utilisateurs de Zsh
Puis vérifiez l’installation de NVM :
nvm --version
Vous devriez voir le numéro de version.
Résolution des problèmes d’installation
Si vous rencontrez l’erreur nvm: command not found
:
- Vérifiez que votre
~/.bashrc
ou~/.zshrc
contient ces lignes :
export NVM_DIR=""$HOME/.nvm""
[ -s ""$NVM_DIR/nvm.sh"" ] && . ""$NVM_DIR/nvm.sh""
- Après avoir ajouté ces lignes, rechargez à nouveau votre shell.
Étape 2 : Installer et gérer les versions de Node.js
Installer la dernière version de Node.js
Installez la dernière version de Node.js :
nvm install node # dernière version
nvm install --lts # dernière version Long Term Support (LTS)
Installer une version spécifique de Node.js
Trouvez et installez une version spécifique de Node.js (par exemple, 20.11.0) :
nvm ls-remote
nvm install 20.11.0
Lister les versions installées
Vérifiez les versions de Node installées :
nvm ls
Étape 3 : Basculer entre les versions de Node.js
Changez instantanément de version Node.js :
nvm use 20.11.0
Vérifiez la version active :
node -v
Définir une version Node.js par défaut
Définissez la version Node.js par défaut pour les nouveaux terminaux :
nvm alias default 20.11.0
Étape 4 : Utiliser .nvmrc pour des versions spécifiques aux projets
Créez un fichier .nvmrc
dans le dossier de votre projet avec la version de Node à l’intérieur (par exemple, 20.11.0
). Puis utilisez :
nvm use
NVM sélectionne automatiquement la version depuis le fichier .nvmrc
.
Problèmes courants et solutions rapides
La version de Node ne change pas
- Assurez-vous de ne pas utiliser une version de Node.js installée au niveau système par erreur.
- Exécutez
which node
pour confirmer que vous utilisez bien Node géré par NVM. - N’utilisez jamais
sudo
pour les commandes NVM ou l’installation de packages npm.
Packages npm globaux manquants après changement de version
Chaque version de Node.js gère ses propres packages npm globaux. Pour migrer les packages globaux :
nvm install 20 --reinstall-packages-from=18
Remplacez ""18"" par la version de Node depuis laquelle vous souhaitez migrer.
Mettre à jour NVM
Exécutez à nouveau le script d’installation pour mettre à jour NVM facilement :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
Cela met à jour NVM sans affecter les versions de Node installées.
Conclusion
L’utilisation de NVM simplifie considérablement la gestion de plusieurs environnements Node.js. Elle permet de changer rapidement de version, évite les conflits de versions et maintient votre flux de développement Linux fluide.
FAQ
Non. NVM installe les versions de Node.js dans votre répertoire personnel, donc les permissions root (`sudo`) ne sont pas nécessaires et ne devraient pas être utilisées.
NVM fonctionne parfaitement sur macOS. Les utilisateurs Windows devraient utiliser NVM for Windows, un outil similaire mais distinct.
Assurez-vous que les lignes de configuration NVM sont dans votre profil shell (`~/.bashrc`, `~/.zshrc`), puis rechargez le shell ou redémarrez votre terminal.
Chaque session de terminal peut avoir une version Node.js active différente gérée par NVM, mais une seule session ne peut exécuter qu'une version à la fois.