NVM : Un super gestionnaire de version Node.JS

NVM

Vous utilisez NPM mais vous rencontrez de problèmes de compatibilité nodeJs entre vos projets ?
Cet article est fait pour vous! Laissez moi vous présenter le super gestion de version npm/nodeJs, voici NVM !

NVM qu’est-ce que c’est ?

Tout d’abord voyons ensemble ce que c’est, à quoi ça sert et pourquoi vous pouvez vous devez l’adopter.

NVM c’est un gestionnaire de version node, un ‘node version manager’ en anglais.
Cette succession de mots barbare signifie que ce petit outil va vous permettre de gérer les différentes versions de node / npm utilisés pour chacun de vos projets.

Cela peut être utile dans le cas où vous gérez plusieurs projets node ou front (js) différents. Vous avez des dépendances npm qui nécessite certaines versions spécifiques de node.
Vous devez donc changer fréquemment de version node en fonction du projet sur lequel vous êtes.
NVM va vous aider à gérer cela.

Installation de NVM

Place au commencement, essayons de l’installer.
Soit vous vous rendez sur le github officiel de NVM et suivez la procédure en anglais, soit vous pouvez suivre cette petite procédure:

  • Dans un terminal, tapez la commande suivante afin de le télécharger:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash

La même version existe avec wget:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash
  • Maintenant que NVM est installé, ajoutez ces lignes à votre ~/.bash_profile , ~/.profile ou ~/.bashrc.
    Cela aura pour effet d’initialiser NVM à chaque démarrage de session:
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
  • Vous pouvez finalement vérifier que NVM est bien installé en tapant la commande suivante:
nvm -v

Lister la liste des versions nodes disponibles (et en installer une)

Lister les versions

Avec NVM, on distingue les versions localement installées que vous pouvez consulter avec la commande suivante:

nvm ls

On voit ainsi le résultat à droite sur l’image.
On peut voir toutes les versions que j’ai installées, ainsi que la courante (default) que j’utilise actuellement et qui est la 12.14.0.

Liste des versions node installées localement avec nvm

Des version disponibles dans le repository distant et auxquelles vous pouvez accéder avec la commande suivante:

nvm ls-remote

Je ne vous montrerais pas le résultat de cette commande car cela génère une énorme liste contenant toutes les versions de node.

Installer une version

Pour ça rien de plus simple ! Choisissez la version que vous voulez et installez la avec cette commande: (remplacer les x par la version !!)

nvm install vxx.xx.x
Installation d'une version de node avec NVM

Et en plus, une fois la version installée, elle est directement configurée pour l’utiliser immédiatement !

Switcher vers une version déjà installée

Maintenant que l’on a vu comme voir les versions installées ou non, et comment en installer une, voyons comment changer de version pour une déjà installée.
Pour cela, toujours aussi simple, on utilise nvm use:

nvm use 12.14.0
Changement de version avec un nvm use

Définir une version par défaut

Maintenant que l’on sais installer et switcher de version, on aimerais en avoir une par défaut.
NVM fonctionne avec des alias auxquels sont associés des versions.
Vous pouvez en créer des nouveaux, mais celui qui correspond à la version par défaut est default.

Voici comment définir une version pour un alias:

nvm alias default 12.14.0

Et comme je l’ai dis, vous pouvez en définir des personnalisés:

nvm alias superProjet 10.10.0
Définition d'alias avec nvm alias

Conclusion

C’est ainsi que cet article se termine !
Vous pouvez creuser davantage sur le github de NVM et notamment concernant l’appel automatique de nvm use quand vous rentrez dans un répertoire projet.
En attendant, je suis à votre disposition dans l’espace commentaire !


Sources


Articles récents

NVM : Un super gestionnaire de version Node.JS

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut