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.
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:
C:\Program Files\nodejs
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.
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.
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.
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é.
Vous devez exécuter le programme d'installation en tant qu'administrateur.
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.
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.
La raison pour laquelle vous devez modifier AppData peut être:
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.