J'essayais désespérément d'installer des modules à l'aide de node.js, mais les paquets avec npm échouent toujours.
Je me suis connecté en tant qu'administrateur et j'ai utilisé powershell/cmd avec "exécuter en tant qu'administrateur". J'ai également eu des problèmes avec le registre, j'ai donc utilisé le registre npm set http://registry.npmjs.org/
J'ai tout essayé ... ça me rend dingue.
Voici les erreurs:
npm ERR! Essayez de réexécuter cette commande en tant qu’utilisateur root/administrateur.
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "generator-knockout"
npm ERR! cwd D:\Sergiu\Knockout Test
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! path D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js
npm ERR! fstream_path D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js'
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\fstream\LICENSE'
npm ERR! { [Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\fstream\LICENSE']
npm ERR! errno: 50,
npm ERR! code: 'EPERM',
npm ERR! path: 'D:\\Sergiu\\Knockout Test\\node_modules\\generator-knockout\\node_modules\\yeoman-generator\\node_modules\\tar\\node_modules\\fstream\\LICENSE',
npm ERR! fstream_type: 'File',
npm ERR! fstream_path: 'D:\\Sergiu\\Knockout Test\\node_modules\\generator-knockout\\node_modules\\yeoman-generator\\node_modules\\tar\\node_modules\\fstream\\LICENSE',
npm ERR! fstream_class: 'FileWriter',
npm ERR! fstream_stack:
npm ERR! [ 'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\fstream\\lib\\writer.js:284:26',
npm ERR! 'Object.oncomplete (fs.js:107:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
Il s’avère que vous n’êtes pas obligé d’exécuter à nouveau la commande en tant qu’administrateur et que cela ne résoudra pas le problème.
Essayer:
npm cache clean
d'abord.
Si cela ne résout pas le problème, jetez un œil à %APPDATA%\npm-cache
ou, si vous utilisez PowerShell, $env:APPDATA\npm-cache
.
Après le nettoyage de la mémoire cache, il peut rester des restes. Supprimez manuellement tout ce qui se trouve dans ce répertoire et réessayez. Cela a toujours corrigé les choses pour moi.
Comme @Crazzymatt le mentionnait, à partir de la version npm @ 5 et ultérieure, nous devons utiliser npm cache verify
au lieu de npm cache clean
. Sinon, vous obtiendrez une erreur comme précédemment.
npm ERR! À partir de npm @ 5, le cache npm corrige automatiquement les problèmes de corruption et les données extraites du cache sont garanties comme valides. Si vous voulez vous assurer que tout est cohérent, utilisez plutôt 'vérification de cache npm'.
(Source: article de blog MSDN )
Je le résous en cours d'exécution en tant qu'administrateur cmd. Nettoyage du cache npm cache clean -f
Et essayez à nouveau d'installer le package.
Vous devez exécuter cmd.exe en tant qu'administrateur.
Suivez les étapes suivantes:
Voici comment j'ai résolu ce problème sur mon Windows (7) Dev. environnement. Je suppose que ce qui suit ...
Bon, passons à ça:
Mettez à jour tous les packages pour lesquels une vérification de version renvoie un avertissement ("npm WARN" ..) , par exemple ...
npm update -g npm
npm update -g graceful-fs
Ensuite, nous voulons forcer un cache propre . Ceci est signalé par un '- f' ou '- f' ..
npm cache clean --f
Dans Widows Explorer recherchez le chemin suivant
% APPDATA%\npm-cache
Et Supprimer c'est le contenu
J'espère que cela aide quelqu'un !!
J'utilisais déjà la fenêtre de commande Node en tant qu'administrateur. Comme mentionné par de nombreuses personnes ci-dessus, la commande suivante avec --f (force) a résolu mon problème.
npm cache clean -f
Après le nettoyage du cache, l’installation s’est déroulée sans faille. Voir la capture d'écran pour référence
Voici comment j'ai résolu le problème sous Windows. J'essayais d'installer le CLI pour Angular.
Désactivez les pare-feu et les protections antivirus.
Cliquez avec le bouton droit de la souris sur le dossier nodejs (sous Program Files), sélectionnez Propriétés (défilez au maximum), cliquez sur l'onglet Sécurité, puis cliquez sur tous les éléments de la colonne ALLOW (pour Tous les packages système et tout utilisateur ou groupe permettant d'ajouter le fichier). "Autoriser" coche).
Cliquez sur l'icône Windows. Tapez cmd. Cliquez avec le bouton droit sur le résultat du haut et sélectionnez Exécuter en tant qu'administrateur. Une fenêtre de commande en résulte.
Tapez npm cache clean. En cas d'erreur, fermez les fichiers journaux ou ouvrez-les de nouveau et réexécutez-les.
Tapez npm install -g @ angular/cli (ou la commande npm install que vous utilisez)
Vérifiez l'installation en tapant ng –version (ou tout ce dont vous avez besoin pour vérifier votre installation)
Bonne chance! Remarque: Si vous rencontrez toujours des problèmes, vérifiez le chemin d'accès dans les variables d'environnement. (Pour accéder à: Panneau de configuration → Système et sécurité → Système → Paramètres système avancés → Variables d'environnement.) Ma variable de chemin d'accès comprenait les éléments suivants: C:\Utilisateurs\Michele\AppData\Roaming\npm
Essayez les étapes suivantes
1. Exécutez cette commande sur un terminal ou CMD - npm cache clean
2. Allez dans ce dossier sous Windows %APPDATA%\npm-cache
et supprimez le dossier dans lequel vous voulez installer le module (Ex: - laravel-elixir) ou, si vous utilisez PowerShell, $ env: APPDATA\npm-cache
. Ensuite, exécutez votre commande EX:- npm install laravel-elixir
Si vous utilisez TFS ou tout autre contrôle de source pour votre projet qui définit vos fichiers archivés en mode lecture seule, vous devez vous assurer que package.json est extrait avant d'exécuter l'installation de npm. J'ai commis cette erreur plusieurs fois.
J'ai eu le même problème, ce que j'ai fait pour le résoudre a été exécuté le cmd.exe en tant qu'administrateur, même si mon compte était déjà défini en tant qu'administrateur.
J'ai eu le même problème et j'ai corrigé l'erreur en nettoyant le cache:
npm cache clean -f
Si vous le faites sur un Mac, tapez: Sudo chown -R $ USER/usr/local qui vous donnera un accès administratif à vos fichiers.
C'est le flux qui arrive souvent dans ce cas. Vous exécutez une commande sans droits d'administrateur, vous obtenez le message npm ERR! Please try running this command again as root/Administrator.
. Ensuite, vous ouvrez une autre CLI (cmd, powershell, bash ou autre) et vous ne fermez pas la précédente CLI. Il semble que vous ayez 2 invites ouvertes dans le même répertoire. Et jusqu'à ce que vous fermiez la CLI qui fonctionne sans droits d'administrateur, vous obtiendrez continuellement npm ERR! Please try running this command again as root/Administrator.
ne CLI si proche qui s'exécute sans droits d'administrateur avant d'en exécuter un nouveau.
NOTE: Beaucoup de IDE ont été intégrés à la CLI (Visual Studio, Code VS, etc.). Fermez donc l'instance de IDE.
Ce qui m'a aidé sous Windows 10, c’était simplement de cocher "Lecture seule" du projet node_modules
.
npm cache verify
Essayez les nouvelles versions de npm.
J'utilise v 5.5.1 et ça fonctionne bien.
En dernier recours avec cette erreur, j'ai créé une nouvelle machine virtuelle Windows 10 et installé la dernière version de nodejs (v6). Mais il y avait une foule d'autres "ERR!" travailler à travers.
Je devais exécuter npm cache clean --force
qui, ironiquement, vous donnera un message indiquant "J'espère que vous saurez ce que vous faites". Cela semble avoir fonctionné.
Cela ne résout pas le problème sur ma machine principale. Je constate que, depuis quelques années, je consacre plus de temps à la résolution du problème qu'au développement réel. J'ai eu moins de problèmes avec le noeud sur Linux Ubuntu 14.04 si c'est une aide.
La suppression du npm-cache global et/ou l'exécution de ma ligne de commande en tant qu'administrateur ne fonctionnaient pas pour moi. De plus, à partir de la version 5.x.x de npm, il est censé récupérer de la corruption de cache par lui-même.
Cela a fonctionné:
1. Suppression du dossier node_modules de mon projet actuel.
2. Supprimé le package-lock.json dans mon projet actuel
. Installé le nouveau paquet. Dans mon cas: npm install bootstrap@next --save
4. Ran npm install
pour mon projet actuel.
Tout fonctionne maintenant. En général, les commandes node_modules et package-lock.json corrigent généralement ces bogues "sans raison apparente".
J'ai juste eu le même problème encore. Mais j’ai remarqué que tout était installé correctement, même si cela a jeté l’erreur après avoir suivi les étapes décrites ci-dessus. Donc, je pourrais juste lancer ng serve
(pour Angular), et tout a fonctionné.
C’est une erreur étrange ...
Comme un hack,
Vérifiez si le chemin du dossier dont il se plaint existe ou non. Sinon, essayez de les créer manuellement et réexécutez l'installation, après avoir effacé le cache.
J'ai eu du succès avec cela, lorsque l'exécution de l'installation à partir de la commande en tant qu'administrateur ne fonctionnait pas
Je me suis trompé deux fois avec ce problème et j'ai essayé toutes les suggestions avec un succès médiocre.
Première fois j'ai essayé (et heureusement) par:
supprimer le dossier node_modules dans votre projet
npm clean cache -f
vérifiez votre %APPDATA%/npm-cache
et supprimez tout s'il n'est pas vide
démarrer le terminal en tant qu'administrateur (à mon avis, ce n'est pas un problème de droits, mais cela ne fera pas de mal si vous le faites)
npm install
puis npm update
vous obtiendrez des erreurs, installez simplement chaque module qui génère une erreur manuellement et essayez, étape par étape, d'éliminer tout ce qui ne va pas
Cependant, cette méthode est assez frustrante et ne fonctionne pas à chaque fois. Alors essayez ceci:
La deuxième fois, je n'ai pas eu de chance avec les étapes ci-dessus, alors j'ai essayé de réinstaller complètement npm et cela a échoué. J'ai donc pensé que quelque chose n'allait pas avec l'installation de mon node.js. Mon équipe tourne 6.10. et j'ai eu le 6.11. et essayé avec le 6.10. sans chance.
Donc, j'ai tout effacé de mon système. Supprimé tous les modules de nœud, vérifié chaque chemin où le nœud ou npm pourrait être et nettoyé mon système.
Puis j'ai installé la dernière version 8.1.
Supprimé mon projet et le cloné dans un répertoire complet différent.
Maintenant, j'ai tout installé et mis à jour avec npm install
npm update
Ensuite, j'ai compilé avec seulement 2 modules manquants et les ai installés manuellement
Tadaaaaa, ça marche maintenant. Donc dans l’ensemble, c’était un problème avec node.js. Je recommande à tous ceux qui rencontrent ce problème: essayez différentes versions de nœuds! Et nettoyez tout ABSOLU.
Cela a fonctionné pour moi, si votre package.json
n'est pas trop gros, vous pouvez le faire:
node_modules
.npm install
encore.$ npm cache clean
npm ERR! À partir de npm @ 5, le cache npm corrige automatiquement les problèmes de corruption et les données extraites du cache sont garanties comme valides. Si vous voulez vous assurer que tout est cohérent, utilisez plutôt 'vérification de cache npm'.
J'ai essayé d'exécuter npm cache verify
avec des droits d'administrateur et cela a fonctionné par la suite.
CE QUI A TRAVAILLÉ POUR MOI
J'ai exécuté l'invite de commande en tant qu'administrateur. Cela a partiellement aidé, car le message d'erreur suivant s'affiche: "Veuillez réessayer d'utiliser cette commande en tant qu'utilisateur root/administrateur". J'essayais d'installer Cordova. Pour réussir, je devais également:
(1) "npm update node", plus ...
(2) J'ai aussi ajouté le "-g" dans le >> npm install cordova <<. En d’autres termes, tapez ceci: >> npm install -g cordova <<
~~~ FOR WINDOWS 8.1 ~~~
Invite de commande "RUN AS ADMINISTRATOR"
Sous Windows 8.1, je n'ai pas de groupe ACCESSORIES lorsque je clique sur Démarrer> Tous les programmes. Mais j’ai le vieux bouton START BUTTON et START MENU, plus fiable, mais plus fiable, grâce à l’application gratuite Classic Start Menu. Donc, avec cela installé ....
ALTERNATIVE n ° 1:
1. Type "cmd" in the SEARCH BOX at the bottom of the START menu.
2. When cmd.exe shows up in the top of the search results, right click it and select RUN AS ADMINISTRATOR.
ALTERNATIVE # 2 Si une fenêtre d'invite de commande est déjà ouverte et en cours d'exécution - et que vous souhaitez en ouvrir une autre pour Exécuter en tant qu'administrateur:
1. Locate the Command Prompt app icon in the Taskbar (usually along the bottom of you screen unless you have moved it a different dock/location).
2. Right click the app icon.
3. Now, right click "COMMAND Prompt" and select RUN AS ADMINISTRATOR.
J'espère que ça aide quelqu'un.
Une solution qui a fonctionné consiste à fermer toutes les instances PowerShell et cmd. Redémarrez PowerShell/cmd en tant qu'administrateur et tout semble fonctionner.
Cela peut arriver si vous effectuez rea-native et que le cmd node.js est ouvert en arrière-plan.
Si vous êtes dans le projet natif de réaction et Expo est en cours d'exécution, alors fermez-le.
Réinstallez le paquet, et tout devrait bien se passer.
Sur Windows 10, npm cache clean --force
et npm cache verify
ne fonctionnaient pas pour moi. J'ai essayé de supprimer le dossier de cache et le fichier avec l'autorisation de l'administrateur, mais cela n'a pas fonctionné. Le outil de traitement de processus m'a aidé à découvrir que Node.exe
se trouve sur le fichier cache. J'ai tué le processus et essayé de nettoyer, a travaillé.
J'ai rencontré ce problème lors de l'exécution de la commande "npm publish".
Ensuite, j'ai vérifié le journal des erreurs et résolu le problème en exécutant la commande "npm config set registry http://registry.npmjs.org ". La raison évidente de ce problème est que j'ai configuré un autre registre.
Donc, si vous êtes dans la même situation que la mienne, essayez de définir le registre comme officiel.
Rappelez-vous également de mettre fin à toutes les autres commandes npm , par exemple. npm run dev-server
.
Cela devrait résoudre le problème, espérons-le
Je ne sais pas quelles étapes ont fonctionné pour moi. Mais ce sont mes étapes pour se débarrasser de cette erreur:
Correction des permissions npm dans Ubuntu
avec une machine ayant un utilisateur local, juste au cas où:
Noeud de mise à jour:
Sudo npm cache clean -f
Sudo npm install -g n
Sudo n stable
Pour voir votre utilisateur local, exécutez la commande:
whoami
Le répertoire par défaut dans lequel npm écrit est/usr/local et vous pouvez le trouver en exécutant cette commande:
npm config get prefix
Changez les répertoires utilisateur par défaut (root) en votre utilisateur (utilisateur_local):
Sudo chown -R local_user /usr/local/lib/node_modules/
Sudo chown -R local_user /usr/local/bin/
Sudo chown -R local_user /usr/local/share/
Et c'est tout
FINALEMENT obtenu cela fonctionne après 4 heures d'installation, de désinstallation, de mise à jour, blah blah.
La seule chose qui l’a fait était d’utiliser une ancienne version du noeud v8.9.1 x64.
C'était un PC Windows 10.
J'espère que ça aide quelqu'un.
Comme les autres réponses, nettoyez le cache npm et assurez-vous que le dossier du cache est vide, puis exécutez plusieurs fois l'installation de npm. Chaque fois que le message d'erreur arrive pour différents packages, et que l'heure finale (après X tentatives) réussit.
npm clean cache --force
cd %APPDATA%\npm-cache
(ou cd $env:APPDATA\npm-cache
pour PowerShell)del *
pour tout effacer du dossiernpm install
plusieurs fois jusqu'à ce qu'il réussisse. Notez que les messages d'erreur sont pour chaque paquet différent à chaque fois.