Maîtrisez la gestion des versions de Node.js et des registres npm comme un pro
Juan Picado
28 août 2019
0 minutes de lectureDans la continuité de notre guide des 10 bonnes pratiques de sécurité npm publié plus tôt cette année, j’aimerais expliquer comment passer plus facilement d’une version de Node.js à une autre et d’un registre npm à un autre dans un environnement de développement.
Gestionnaire de versions Node.js
Lorsque vous développez des applications Node.js, vous pouvez avoir besoin d’installer plusieurs versions de Node.js pour effectuer vos tâches quotidiennes. Par exemple, vous devrez peut-être corriger un bug en production ou passer d’un projet à un autre. Le faire manuellement à chaque fois peut demander beaucoup d’efforts. Heureusement, il existe une meilleure solution.
Node Version Manager (nvm) est un outil qui permet de passer d’une version de Node.js à une autre et de réduire les efforts nécessaires pour reproduire des bugs de production dans des environnements de développement.
L’installation par défaut est uniquement prise en charge sur les environnements macOS et Linux. Si vous utilisez Windows, consultez nvm-windows, qui devrait répondre à vos besoins.
À l’aide de l’interface en ligne de commande, vous pouvez installer n’importe quelle version de Node.js en exécutant la commande suivante :
C’était facile ! Voyons maintenant quelques scénarios courants dans lesquels NVM peut vous aider :
Il arrive que certains membres d’une équipe travaillent avec une version de Node.js différente de celle des autres. C’est une erreur courante qui peut vous causer des problèmes, par exemple en fusionnant du code qui n’est pas pris en charge par la version de Node.js utilisée par le reste de l’équipe. Pour imposer la version que tous les membres doivent utiliser, l’équipe peut mettre en place le fichier `.nvmrc`. Par exemple :
$ echo "10" > ~/.nvmrc
Une fois le fichier installé, lorsqu’un membre de l’équipe exécute nvm install, la version qui y est indiquée est toujours utilisée par défaut. Cela empêche les membres de l’équipe de contribuer s’ils utilisent une autre version. Vous évitez ainsi, par exemple, de déployer des fonctionnalités Node.js incompatibles ou d’utiliser une syntaxe susceptible de faire planter votre application.Vous devez reproduire un bug avec une version de Node.js antérieure ou ultérieure à celle que vous avez installée ? Sans NVM, gérer plusieurs instances de versions de npm installées globalement est compliqué en raison des installations manuelles. Avec NVM, il vous suffit d’exécuter une autre commande `install` pour lancer plusieurs instances en parallèle avec différentes versions. Et voilà ! Voir l’exemple ci-dessous.
Lorsque plusieurs instances de Node.js sont installées, chacune avec plusieurs modules npm globaux, vous devez réinstaller tous ces modules à chaque changement de version de Node.js.
Voici une solution rapide :
Gestionnaire de registres npm
NPM Registry Manager est un autre utilitaire pratique si vous utilisez plusieurs registres, ce qui est courant en entreprise ou si vous utilisez un outil comme verdaccio pour votre usage personnel sur un registre privé local. Depuis le lancement du registre de paquets de GitHub, cet outil est encore plus utile et courant.
NRM prend en charge plusieurs registres prêts à l’emploi, notamment :
Pour découvrir d’autres conseils pour améliorer votre productivité en matière de sécurité npm, consultez notre aide-mémoire Guide des 10 bonnes pratiques de sécurité npm.
Restez en sécurité !



