Installer plusieurs versions de node.js concurrentes avec nvm

Je me suis retrouvé dans la situation où la dernière version de node.js n’était plus adaptée à un projet que j’avais en développement. Il fallait que je revienne quelques versions en arrière afin que mon code TypeScript soit interprété et compilé (vers du ES5 pour fonctionner dans le navigateur). La solution, c’est nvm.

Installer nvm

⚠️ nvmest fait pour les systèmes POSIX, c’est-à-dire les dérivés d’UNIX (dont Linux et MacOS). Il existe toutefois une alternative pour windows.

Pour Linux

Il suffit de télécharger ce fichier et de l’exécuter dans un terminal.

Ou bien encore, en une ligne:

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

Selon la documentation de nvm, il peut être nécessaire d’ouvrir un nouveau shell pour que la commande $ nvm soit disponible.

ℹ️ Par défaut, le script installera nvm dans votre home directory.

Pour MacOS

L’installation sous MacOS peut se faire évidement de la même façon que précédement sous Linux, mais j’ai trouvé, pour moi, que l’installation avec Homebrewétait encore plus simple (je l’utilise pour d’autres choses, donc il était déjà présent sur mon système).

brew install nvm

💡 Sur les nouvelles machines Apple, équipées de processeurs ARM (le Apple M1 à l’heure où j’écris ces lignes), on peut installer des versions de node.js compilées pour le processeur, et donc éviter d’utiliser la couche d’émulation de processeur Intel (Rosetta 2), et donc potentiellement avoir un gain notable de performances.

Il suffit de faire attention de bien utiliser la version de homebrew « spéciale processeur ARM » qu’on trouve ici: /opt/homebrew/bin/brew.

(Mais vous avez peut-être déjà aliasé brewpour l’exécutable ARM?)

⚠️ La plupart du temps, l’installation de nvmva modifier un de vos fichiers de pre-launch du shell, mais dans certains cas, ça peut ne pas fonctionner, particulièrement si vous avez un fichier ~/.bashrc et que vous êtes passé à zsh.

Dans ce cas, il suffit d’ajouter ces lignes à votre .zprofile ou .zshrc (je préfère .zprofile qui est utilisé même en dehors d’un shell interactif):

export NVM_DIR="/opt/homebrew/var/homebrew/linked/nvm/"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

ℹ️ Le chemin /opt/homebrew/var/homebrew/linked/nvm/ est valide pour brew ARM. Pour la version x86, le chemin est le suivant: /usr/local/var/homebrew/linked/nvm.

Pour Windows

À moins d’utiliser WSL, et donc d’être dans un contexte POSIX, le mieux est d’installer nvm-windowscomme expliqué ici: https://github.com/coreybutler/nvm-windows.

Installer une version de node.js

C’est simple comme bonjour!

nvm install 10 # Installe la v 10 la plus récente
nvm install 8.1.4 # Installe exactement cette version
nvm install node # Installe la toute dernière version stable

Changer de version de node

Il suffit d’utiliser la commande use:

nvm use 10
nvm use 8.1.4

⚠️ Avec nvm-windows, la version est changée system-wide, alors que sous les systèmes POSIX, le changement est local à la session de shell.

💡 Pour changer la version par défaut pour les système POSIX, il faut utiliser la commande `alias` comme suit:

nvm alias default 12 # Utilise la dernière 12.x

Ça vous a été utile? Laissez un petit mot en commentaire!


Sources

Vous aimerez aussi...

Laisser un commentaire