nvm ou comment travailler avec plusieurs versions de Node.js

Aujourd'hui, il est assez commun de devoir installer Node.js pour faire fonctionner un projet.

L'installation étant assez simple, la modification et/ou la mise à jour de la version de Node.js installée sur votre système l'est beaucoup moins.

Dans cet article on va parler d'une solution qui va nous permettre de changer simplement de version Node.js à la volée : nvm.

Qu'est-ce que nvm ?

L'acronyme de nvm signifie : Node Version Manager.

Comment on l'a dit précédemment, cet outil va nous permettre de manager plusieurs version de Node.js.

Disponible uniquement sur environnement Unix de base, un fork a été réalisé pour Windows.

Installation Unix

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash

Vous pouvez également vous référer au readme pour des informations plus complètes sur l'installation Unix.

Installation Windows

Pour Windows, il faut se tourner vers le fork et installer la dernière release en date.

Néanmoins, même si c'est fonctionnel, le projet n'a pas été mis à jour depuis Août 2018.

Exemples d'utilisation

Voici un exemple d'installation d'une version de Node.js :

nvm install 14.14.0

En changeant le numéro de version, vous pourrez installer la version que vous souhaitez.

Pour connaitre la liste des versions de Node.js installées :

nvm list
    14.14.0
   *14.11.0 (Currently using 64-bit executable)

Enfin, voici la commande pour pouvoir utiliser une version spécifique installée

nvm use 14.14.0

Vos différentes variables d'environnement vont changer et pointer sur votre version de Node.js voulue.

Et... c'est tout !

Des alternatives existent

Même si ces alternatives restent confidentielles à côté de nvm, elles ne déméritent pas d'exister :

  • n : la différence notable avec nvm est l'installation des packages globaux. Dans nvm, les packages globaux sont séparés par version de Node.js, ce qui n'est pas le cas avec n.
  • nvs : propose un interpréteur plus évolué et la possibilité de choisir également ChakraCore.

Depuis l'annonce de Microsoft de passer sur le même moteur de rendu que Chromium (le moteur V8, celui sur lequel est basé Node.js), Microsoft ne proposera plus de patch de sécurité sur ChakraCore à partir du 9 Mars 2021

One more thing

L'un des points fort de l'utilisation de nvm quand vous êtes sur un environnement Unix est de pouvoir placer un .nvmrc à la racine de votre projet. nvm changera automatiquement de version quand vous naviguerez dans votre dossier de projet !

Conclusion

Pour du multi-projet ou pour votre poste de travail, l'utilisation de nvm va vous permettre de pérenniser vos versions de Node.js. A utiliser sans modération !

Benjamin

Benjamin, expert front Younup, aime le code smart, compréhensible et réutilisable. Malgré ses différentes tentatives de supprimer ES4 et Angular3 il a échoué, damn !

Ses technos de prédilection sont le Typescript, il adore transpiler en ES3 pour Internet Explorer, mais aussi le JavaScript. Hé oui, on peut tout faire avec (enfin aussi n’importe quoi…). Avouons-le, il a aussi un petit crush pour les PWA. Quand le web vient titiller le monde des apps natives et apporter une concurrence ultra positive !

Et si vous ne trouvez pas Benjamin derrière son écran se tirant les cheveux pour avoir oublié un CTRL+S, il devrait être sur un terrain, non loin du Saint Laurent, à travailler ses shoots…

Retours aux publications