Gérer plusieurs versions de node.js simultanément avec n

Si vous faites tourner un nombre important de programmes node.js vous aurez probablement des problèmes de compatibilité entre les différentes versions de node requises par ces applications.
C'est ici que n entre en jeu : n permet d'installer autant de versions de node.js que vous le souhaitez et de passer d'une version à l'autre très simplement.

Installer n

Comme bon nombre d'applications dans le monde de node, cela se passe par npm.

npm install -g n

Si vous vous sentez l'âme d'un barbu, vous pouvez également cloner le repository GitHub et suivre les instructions pour installer n directement depuis les sources.

Attention : ce programme ne fonctionne pour l'instant pas sous Windows. Si vous utilisez un PC sous Windows je vous conseille de vous rabattre sur nvm (Node Version Manager), qui fonctionne sur un principe similaire à n.

Installer des versions de node.js

Quand je disais que n s'utilisait très simplement, je voulais réellement dire très simplement.

Vous souhaitez installer la version 0.10.34 de node ? Ok.

n 0.10.34

La version 0.9.6 ? Ok.

n 0.9.6

Vous avez compris l'idée.

Petit bonus, vous pouvez installer la dernière version via n latest et la dernière version stable via n stable.

Pour désinstaller une version ce n'est pas plus compliqué au choix :

  • n rm 0.10.34
  • n - 0.10.34.

Passer d'une version à une autre

Utilisez la commande n pour lancer l'interface de n permettant de choisir la version de node.js que vous souhaitez utiliser.
Je me permet de reprendre la petite animation présentée sur la page GitHub de n afin que vous compreniez en un clin d’œil comment cela fonctionne.

n en action

Encore une fois, simplissime.

Réinstaller npm

Parfois après un changement de version de node.js, npm ne fonctionnera plus correctement. Afin d'éviter cela, à chaque fois que vous switchez d'une version à une autre, exécutez la commande suivante :

curl -0 -L http://npmjs.org/install.sh | sudo sh

Enjoy.


node | n


Strasbourg, France

Ingénieur en informatique chez Sully Group.