web-dev-qa-db-fra.com

Installation de Node.js (et npm) sous Windows 10

J'ai eu quelques problèmes en essayant d'installer Node sur Windows 10 et j'ai trouvé la solution.

L'erreur était la suivante:

C:\Utilisateurs\Stephan> npm
Erreur: ENOENT, stat 'C:\Utilisateurs\Stephan\AppData\Roaming\npm'

La solution est ci-dessous.

63
Stephan Bijzitter

Edit: Il semble que les nouveaux installateurs n'ont plus ce problème, voir cette réponse by Parag Meshram comme ma réponse est probablement obsolète maintenant.

Réponse originale:

Suivez ces étapes de près:

  • http://nodejs.org/download/ téléchargez la version 64 bits, 32 pour les hipsters
  • Installez-le où vous voulez, par défaut: C:\Program Files\nodejs
  • Panneau de configuration -> Système -> Paramètres système avancés -> Variables d'environnement
  • Sélectionnez PATH et choisissez de le modifier.

Si la variable PATH est empty, remplacez-la par ceci: C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs

Si la variable PATH contient déjà C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm, ajoutez ce qui suit après: ;C:\Program Files\nodejs

Si la variable PATH contient des informations, mais rien concernant npm, ajoutez-les à la fin de PATH: ;C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs

Maintenant que la variable PATH est définie correctement, vous rencontrerez toujours des erreurs. Allez manuellement dans le répertoire AppData et vous constaterez qu'il n'y a pas de répertoire npm dans Roaming. Créez manuellement ce répertoire.

Relancez la commande Invite et npm fonctionnera maintenant.

118
Stephan Bijzitter

allez à http://nodejs.org/

et appuyez sur le bouton qui dit "Télécharger pour ..."

Cela téléchargera le fichier .msi (ou .pkg pour mac), qui effectuera toute l’installation et les chemins, contrairement à la réponse sélectionnée.

62
foreyez

En plus de la réponse de @StephanBijzitter, j'utiliserais plutôt les variables PATH suivantes:

%appdata%\npm
%ProgramFiles%\nodejs

Ainsi, votre nouvelle PATH ressemblerait à ceci:

[existing stuff];%appdata%\npm;%ProgramFiles%\nodejs

Cela présente l’avantage de ne pas dépendre de l’utilisateur, ni de 32/64bits.

14
Dunken

Les nouveaux installateurs (téléchargés au format .msi à partir de https://nodejs.org ) ont l'option "Ajouter au chemin". Par défaut, il est sélectionné. Assurez-vous de le laisser coché.

Add to PATH

9
Parag Meshram

Vous devez exécuter le programme d'installation en tant qu'administrateur.

  1. Exécutez l'invite de commande en tant qu'administrateur
  2. répertoire cd où le fichier msi est présent
  3. lancer le fichier msi en tapant le nom dans la commande Invite
  4. Vous devriez être heureux de voir que toutes les commandes de noeud fonctionnent à partir de la nouvelle commande Invite Shell.
2
arunram

J'ai eu le même problème, ce qui nous a aidés à tourner ma protection anti-virus pendant environ 10 minutes tandis que le noeud était installé et cela fonctionnait à merveille.

2
Adeel Imran

Tout doit être installé dans% appdata% (C:\Users \\ AppData\Roaming), pas 'fichiers de programme'.

Voici pourquoi...

Le programme d'installation MSI par défaut place Node et le NPM qui l'accompagne dans des "fichiers de programme" et les ajoute au chemin système, mais définit le chemin utilisateur du NPM sur% appdata% (c:\users [ nom d'utilisateur]\appdata\roaming) car l'utilisateur ne dispose pas de privilèges suffisants pour écrire dans les "fichiers de programme".

Cela crée un désordre lorsque tous les modules entrent dans% appdata% et lorsque vous mettez à niveau NPM lui-même - ce que NPM vous recommande de faire tout de suite - vous obtenez deux copies: l'original reste dans les "fichiers de programme", car NPM ne peut pas effacer. cela, et le nouveau one inn% appdata%.

Pire encore, si vous effectuez par erreur des opérations NPM en tant qu'administrateur (beaucoup plus facile sous Windows que sur * nix), il fonctionnera sur la copie 'fichiers de programme' de NPM node_modules. Potentiellement un vrai bordel.

Ainsi, lorsque vous exécutez le programme d'installation, pointez-le simplement sur% appdata% et évitez tout cela.

Et notez que ce n’est pas un hasard, c’est ce qui se produirait si vous exécutiez le programme d’installation avec uniquement des privilèges d’utilisateur.

1
Tom

La raison pour laquelle vous devez modifier AppData peut être:

  1. Node.js ne pouvait pas gérer un chemin plus long que 256 caractères, les fenêtres ont tendance à avoir un très long chemin.
  2. Si vous vous connectez depuis un environnement d'entreprise, votre AppData est peut-être sur le serveur - cela ne fonctionnera pas. Le répertoire npm doit être dans votre lecteur local.

Même après cela, les derniers LTE (4.4.4) ont toujours un problème avec Windows 10, cela a fonctionné pendant un petit moment puis chaque fois que j'essaie de:

$ npm install _some_package_ --global 

Le nœud renvoie l'erreur "FATAL ERROR CALL_AND_RETRY_LAST Echec de l'allocation - processus saturé en mémoire". Essayez toujours de trouver une solution à ce problème.

La seule chose que je trouve fonctionne est d’exécuter Vagrant ou Virtual Box, puis d’exécuter la ligne de commande Linux (qui doit correspondre au chemin), solution assez compliquée.

0
Joel Chu