Installer n'importe quel module npm pour Node.js sous Windows

Si vous avez déjà tenté d'installer des modules npm pour Node.js sous Windows via la commande npm install <package> [options], vous avez probablement déjà eu des soucis d'installation et abandonné l'idée. Peut-être même que vous ne vous êtes pas lancé dans l'aventure Node.js pour ces raisons ? Effectivement, certains modules ont besoin de Python pour s'installer et d'autres du MSBUILD de Visual Studio. Il y en à même, plus rare, qui on besoin de Git.

npm

Par exemple, node-mariasql est un module qui nécessite que Python et Visual Studio soient sur la machine Windows pour être installé sans quoi vous obtiendrez des erreurs.

Voici la procédure d'installation des pré-requis nécessaires pour faire fonctionner Node.js et tous ses modules npm sous Windows ainsi qu'une aide à la résolution de problèmes divers après installation.

Étape 1 : Installer Python

Note : une alternative plus rapide à cette étape ainsi qu'à l'étape 2 est présenté en étape 2.5.

Python 2.7 (et non les versions 3.X ou 2.6.X et précédente) est requis par l'installeur npm pour installer les addons à compiler.

  1. Rendez-vous sur python.org pour télécharger la dernière version stable de Python 2.7 du Windows MSI Installer afin d'installer la version x86 ou x86-64 en fonction de votre système d'exploitation.

  2. Lancez l'installeur et assurez vous d'ajouter Python à votre variable d'environnement PATH.

  3. Acceptez l'« installation pour tous les utilisateurs ».

  4. Acceptez le chemin d'installation par défaut « C:\Python27 ».

Étape 2 : Installer Visual Studio

Note : une alternative plus rapide à cette étape ainsi qu'à l'étape 1 est présenté en étape 2.5.

MSBUILD est requis par npm pour installer les addons à compiler en C/C++. Vous obtiendrez ce qu'il faut dans Visual Studio 2012 ou plus. Notez bien que gcc, mingw, cygwin, et les autres compilateurs Windows non Microsoft ne sont pas supportés par Node.js.

Si vous utilisez actuellement Windows 7, 8 ou même 10, vous pouvez à la place utiliser Visual Studio C++ 2013 pour Windows Desktop (Express). Visual Studio Express est gratuit et est plus adéquat pour un support de Node.js.

  1. Téléchargez, par exemple, Visual Studio Express 2013.

  2. Lancez l'installeur et acceptez la localisation par défaut. C'est une grosse installation qui peut prendre longtemps !

Étape 2.5 : Installer Python et Windows Build Tools

Note : vous pouvez passer cette étape si vous avez déjà réalisé l'étape 1 et 2.

Vous pouvez alternativement installer Python2.7 et MSBUILD en exécutant une commande npm depuis une fenêtre administrateur :

  1. Ouvrez un invité de commande en administrateur (Clique sur « (Démarrer) » > Taper « cmd » > Clique droit sur « Invite de commande » > Clique sur « Exécuter en tant qu'administrateur »).

  2. Installez les deux en tapant la commande npm install --global --production windows-build-tools, l'installation peut prendre un moment.

  3. Associé le MSBUILD en tapant la commande npm config set msvs_version 2015 --global

  4. Quittez la fenêtre administrateur. Pour que cela fonctionne, quittez également les fenêtres d'invitées déjà ouverte et ré-ouvrez les.

Étape 3 : Installer Git

Git est nécessaire pour l'installation de package en provenance de GitHub ou autre plateforme Git. Bien que ces modules soient rares, ils ne sont pas inexistants. Vous pourrez donc également les installer.

  1. Rendez-vous sur git-scm.com et téléchargez la dernière version pour Windows.

  2. Lancez l'installeur.

  3. Acceptez la localisation par défaut.

  4. Acceptez l'icône de démarrage menu.

  5. Acceptez les composants associés.

6 Modifiez « Adjusting your PATH environment » to « Use Git from Windows Command Prompt ».

  1. Acceptez la valeur « Configuring the line ending conversions » par défaut.

Étape 4 : Installer Node.js

Si vous aviez déjà installé Node.js avant de réaliser les étapes de cet article, vous pouvez toujours en profiter pour le mettre à jour avec la dernière version. Sinon téléchargez le pour la première fois.

  1. Allez sur nodejs.org et installez la version appropriée pour votre système d'exploitation.

  2. Installez Node.js en suivant les instructions de l'installeur. Plus de détails par ici si vous le souhaitez.

Vérifier que tout fonctionne correctement

Si vous rencontrez des difficultés à installer des modules npm, essayez les étapes suivantes pour identifier un problème de votre côté.

  1. Redémarrez Windows pour être sur que toutes les configurations aient pris effet.

  2. Vérifiez que tous les pré-requis soient correctement installés et accessibles :

    • La commande python --version doit retourner Python 2.7, sinon ajoutez à vos variables d'environnement le dossier C:\python27 (ou votre chemin d'installation).
    • La commande node --version doit retourner vX.X.X, sinon ajoutez à vos variables d'environnement le dossier C:\Program files\nodejs (ou votre chemin d'installation).
    • La commande npm --version doit retourner X.X.X, sinon ajoutez à vos variables d'environnement le dossier %USERPROFILE%\AppData\Roaming\npm.
    • La commande npm config get msvs_version doit retourner 2015, sinon vérifiez que la variable d'environnement GYP_MSVS_VERSION existe et vaut 2015.
  3. Assurez vous que npm -g prefix pointe au même endroit que echo %NODE_PATH%(avec \node_modules en plus à la fin), sinon vérifiez que la variable d'environnement NODE_PATH existe et vaut %USERPROFILE%\AppData\Roaming\npm\node_modules.

  4. Vérifiez qu'un simple module npm peut-être installé :

    • Avec npm install -g semver
    • et semver --help qui doit afficher l'aide.
  5. Assurez vous que si vous avez plusieurs version de Python ou Visual Studio sur votre machine, les astuces dans la partie « Astuces » ci-après ne résolvent pas le problème.

  6. Assurez vous que les addons à compiler peuvent être installées :

    • Avec npm install mariasql qui doit compiler sans erreur.

Si vous avez toujours des erreurs et que toutes les étapes précédentes sont valides, vous pouvez reporter le fichier npm-debug.log laissé par npm dans le tracker d'issue du/des développeur(s) du module npm que vous tentez d'installer pour obtenir de l'aide.

N'hésitez pas à laisser plus d'étapes de vérifications dans les commentaires de cet article, je les mettrais à jour ici même.

Astuces

  • Si vous avez plusieurs versions de Python d'installées, vous pouvez sélectionner celle utilisée par npm pour compiler les addons :

    • Par défaut (et pour tout le temps) npm config set python python2.7 ou
    • Ponctuellement npm install --python=python2.7 lors de l'installation d'un module.
  • Si vous avez plusieurs versions de Microsoft Visual Studio d'installées, vous pouvez sélectionner celle utilisée par npm pour compiler les addons :

    • Par défaut (et pour tout le temps) npm config set msvs_version 2013 (si votre version est 2013) ou npm config set msvs_version 2015 (si votre version est 2015), etc. ou
    • Ponctuellement npm install [options] <module-name> --msvs_version=2013 lors de l'installation d'un module ou (npm install [options] <module-name> --msvs_version=2015 si version 215, etc.).