Npm Veuillez réessayer d'utiliser cette commande en tant que root / administrateur

102

J'ai désespérément essayé d'installer des modules en utilisant node.js, mais cela échoue toujours à obtenir des packages avec npm.

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! Veuillez réessayer d'exécuter cette commande en tant que 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.
HDs Sergiu
la source
3
Mon dossier node_modules a été défini en lecture seule! Cliquez avec le bouton droit sur les propriétés et corrigez-les. :}
Vael Victus

Réponses:

105

Il s'avère que vous n'avez pas à exécuter à nouveau la commande en tant qu'administrateur et que cela ne résoudra pas le problème.

Essayer:

  1. npm cache clean première.

  2. Si cela ne résout pas les choses, jetez un oeil à %APPDATA%\npm-cache, ou si vous utilisez PowerShell, $env:APPDATA\npm-cache.

Après avoir nettoyé le cache, il se peut qu'il vous reste des restes. Supprimez manuellement tout ce qui se trouve dans ce répertoire et réessayez. Cela a toujours arrangé les choses pour moi.

Comme @Crazzymatt le mentionnait, à partir de la version npm @ 5 et plus, nous devons utiliser à la npm cache verifyplace de npm cache clean. Sinon, vous obtiendrez une erreur comme précédemment.

npm ERR! À partir de npm @ 5, le cache npm se guérit automatiquement des problèmes de corruption et les données extraites du cache sont garanties valides. Si vous voulez vous assurer que tout est cohérent, utilisez plutôt 'npm cache verify'.

(Source: article de blog MSDN )

Miyuru Sagarage
la source
16
À partir de NPM5, vous pouvez exécuter "npm cache verify" qui a fonctionné pour moi
crazymatt
8
Parfois npm cache clean, vous donnera un avertissement, vous voudrez peut-être le forcer à nettoyer en faisantnpm cache clean --force
c'est.david
1
Le simple fait d'exécuter la commande (par exemple npm install --save xxx) a à nouveau fonctionné pour moi.
FirstOne
try: npm cache verify
MagGGG
Dans mon cas, j'ai dû redémarrer ma machine après avoir effacé le dossier% APPDATA% \ npm-cache. Windows 10.
rey_coder
48

Je le résolve en tant qu'administrateur cmd. Nettoyer le cache npm cache clean -f , puis réessayer d'installer le package

Elektroi
la source
J'ai fait ça, mais ça ne marche pas. J'ai également exécuté la commande en tant qu'administrateur.
Huy Ngo
5
cela a fonctionné pour moi sur Windows 10 - exécuter en tant qu'administrateur n'a pas résolu le problème
itstata
19

Vous devez exécuter cmd.exe en tant qu'administrateur.

Suivez les étapes suivantes:

  • Cliquez sur Démarrer, sur Tous les programmes, puis sur Accessoires.
  • Cliquez avec le bouton droit sur Invite de commandes, puis cliquez sur Exécuter en tant qu’administrateur.
Ali Katkar
la source
17

Voici comment j'ai résolu ce problème sur mon développeur Windows (7). environnement. Je suppose ce qui suit ...

  • Vous exécutez l' invite de commande , Git Bash , Cmder ou votre terminal préféré, en tant qu'administrateur par un clic droit
  • Privilèges Des autorisations ont été accordées pour la lecture / écriture (c.-à-d. Chmod -777)

D'accord, allons-y:

  1. Mettez à jour tous les packages où une vérification de version renvoie un avertissement ("npm WARN" ..) par exemple ...

    mise à jour npm -g npm

    mise à jour npm -g graceful-fs

  2. Ensuite , nous voulons forcer un cache propre . Ceci est signalé par un '--f' ou '-f' .

    npm cache clean --f

  3. Dans Widows Explorer, recherchez le chemin suivant

% APPDATA% \ npm-cache

Et supprimer son contenu

  1. Démarrez une nouvelle instance de votre terminal , en vous souvenant de «clic droit» et «Exécuter en tant qu'administrateur », réinstallez les packages.

J'espère que cela aide quelqu'un !!

Abraxas
la source
J'ai essayé beaucoup de solutions qui ont fonctionné pour d'autres personnes, mais putain .... pas de succès pour moi sur npm install --save-dev webpack. Il y a quelques semaines, cela fonctionnait bien et je refais un tutoriel avec toutes les mêmes commandes, mais pas les autorisations ou quoi que ce soit ne me permettra pas d'installer. J'ai trouvé ceci: github.com/npm/npm/issues/18380
JoshYates1980
npm install - le webpack non facultatif a fonctionné pour moi APRÈS je suis revenu à npm i -g [email protected]
JoshYates1980
Cette solution devrait être plus avancée pour les utilisateurs de Windows 7. A travaillé pour moi.
Undrium
La suppression du contenu de npm-cache a fonctionné pour moi. Merci
Alvin
8

J'exécutais déjà la fenêtre de commande de nœud en tant qu'administrateur. Comme mentionné par beaucoup 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 était sans faille. Voir la capture d'écran pour référence

Liby George
la source
7
J'espère que vous savez ce que vous faites.
JoshYates1980
5

Si vous utilisez TFS ou tout autre contrôle de code 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 npm install. J'ai fait cette erreur plusieurs fois.

Joey Eng
la source
4

Essayez les étapes suivantes

1. Exécutez cette commande sur le terminal ou le CMD -npm cache clean

2. Accédez à ce dossier sous Windows %APPDATA%\npm-cacheet supprimez le dossier dans lequel vous souhaitez installer le module (Ex: - laravel-elixir) ou si vous utilisez PowerShell, $ env: APPDATA \ npm-cache

3. Exécutez ensuite votre commande EX:- npm install laravel-elixir

UWU_SANDUN
la source
Si cela ne fonctionne pas %APPDATA%\npm, supprimez les deux ngfichiers et essayez-le.
dev
4

Voici comment j'ai résolu le problème sous Windows. J'essayais d'installer la CLI pour Angular.

  1. Désactivez les protections pare-feu et antivirus.

  2. Cliquez avec le bouton droit sur le dossier nodejs (sous Program Files), sélectionnez Propriétés (faites défiler vers le bas), cliquez sur l'onglet Security, puis cliquez sur tous les éléments dans la colonne ALLOW (pour Tous les packages système et tout utilisateur ou groupe qui vous permet d'ajouter le Coche «autoriser»).

  3. Cliquez sur l'icône Windows. Tapez cmd. Cliquez avec le bouton droit sur le résultat supérieur et sélectionnez Exécuter en tant qu'administrateur. Une fenêtre de commande en résulte.

  4. Tapez npm cache clean. S'il y a une erreur, fermez les fichiers journaux ou tout ce qui est ouvert et réexécutez.

  5. Tapez npm install -g @ angular / cli (ou quelle que soit la commande npm install que vous utilisez)

  6. 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 dans les variables d'environnement. (Pour y 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 comprenait les éléments suivants: C: \ Users \ Michele \ AppData \ Roaming \ npm

tigreRose
la source
Merci @tigerRose. Excellentes instructions. Semblait m'aider à progresser.
Sandi Laufenberg-Deku
1
Enfin, "Désactivez le pare-feu et les protections antivirus"
JoshYates1980
3

J'ai eu le même problème, ce que j'ai fait pour le résoudre a été d'exécuter cmd.exe en tant qu'administrateur même si mon compte était déjà défini en tant qu'administrateur.

ThundaPete
la source
2

npm cache verify

Essayez de nouvelles versions de npm.

J'utilise la version 5.5.1 et cela fonctionne bien.

Дмитрий Дорогонов
la source
2

C'est le flux qui se produit souvent dans ce cas. Vous exécutez une commande sans droits d'administrateur, vous obtenez un message npm ERR! Please try running this command again as root/Administrator.. Ensuite, vous ouvrez une autre CLI (cmd, powershell, bash ou autre) et ne fermez pas la CLI précédente. Il semble que vous ayez 2 invites ouvertes dans le même répertoire. Et jusqu'à ce que vous fermiez la CLI qui s'exécute sans droits d'administrateur, vous obtiendrez continuellement npm ERR! Please try running this command again as root/Administrator. une CLI si proche qui s'exécute sans droits d'administrateur avant d'en exécuter une nouvelle.

REMARQUE : de nombreux IDE ont une CLI intégrée (Visual Studio, VS Code, etc.), veuillez donc fermer également l'instance de l'IDE

OlegI
la source
2

J'ai eu le même problème et j'ai corrigé l'erreur en nettoyant le cache:

npm cache clean -f
Praveen
la source
1

Si vous faites cela sur mac, tapez: sudo chown -R $ USER / usr / local qui vous donnera un accès administratif à vos fichiers

Manvitha Reddy
la source
4
Terrible façon. Vous allez freiner le niveau d'autorisation du système avec cela.
stborod le
1

Ce qui m'a aidé sur Windows 10 était simplement de cocher "Lecture seule" du projet node_modules.

Dominik Serafin
la source
Je me sentais fragmentaire, mais cela a fonctionné pour moi, npm cache cleansans résoudre le problème.
Cato Minor
1

J'ai joué avec ce problème 2 fois et essayé toutes les suggestions ici avec un succès médiocre.

  • La première fois que j'ai essayé (et j'ai réussi heureusement) par:

    1. supprimer le dossier node_modules dans votre projet

    2. npm clean cache -f

    3. vérifiez votre %APPDATA%/npm-cacheet supprimez tout si ce n'est pas vide

    4. 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)

    5. npm install puis npm update

    6. 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, j'ai donc essayé de réinstaller complètement npm et cela a échoué. J'ai donc pensé qu'il devait y avoir un problème avec mon installation node.js. Mon équipe exécute 6.10. et j'avais le 6.11. et je l'ai essayé avec le 6.10. sans chance.

    1. J'ai donc complètement tout effacé de mon système. Supprimé tous les modules de nœud, vérifié chaque chemin où le nœud ou npm pouvait être et nettoyé mon système.

    2. Ensuite, j'ai installé le plus récent 8.1.3

    3. J'ai supprimé mon projet et je l'ai cloné dans un répertoire complètement différent.

    4. Maintenant, j'ai tout installé et mis à jour avec npm install npm update

    5. 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.

Florian Leitgeb
la source
1

En dernier recours avec cette erreur, j'ai créé une nouvelle machine virtuelle Windows 10 et installé les derniers nodejs (v6). Mais il y avait une foule d'autres "ERR!" travailler à travers.

J'ai dû courir npm cache clean --forcece qui ironiquement vous donnera un message qui se lit comme suit: «J'espère que vous savez ce que vous faites». Cela semble avoir fonctionné.

Cela ne résout pas le problème sur ma machine principale de développement. Comme je l'ai découvert au cours des dernières années, je suis en train de mettre en boîte nodejs que vous passez plus de temps à le réparer qu'au développement réel. J'ai eu moins de problèmes avec le nœud sur linux ubuntu 14.04 si cela vous aide.

Ryan G
la source
1

La suppression du cache global npm et / ou l'exécution de ma ligne cmd en tant qu'administrateur ne fonctionnait pas pour moi. De plus, à partir de la version 5.xx de npm, il récupère soi-même de la corruption du cache.

Cela a fonctionné:

1. Supprimé le dossier node_modules dans mon projet actuel.

2. Supprimé le package-lock.json dans mon projet actuel

3. Installé le nouveau package. Dans mon cas:npm install bootstrap@next --save

4. Ran npm installpour mon projet actuel.

Tout fonctionne maintenant. En général, nuking node_modules et package-lock.json corrigent généralement ces bogues "sans raison apparente" pour moi.

ÉDITER

J'ai juste eu à nouveau le même problème. Mais j'ai remarqué que tout était correctement installé même si cela a généré l'erreur après avoir suivi les étapes décrites ci-dessus. Donc je pourrais juste courir ng serve(pour Angular), et tout a fonctionné.

C'est certainement une erreur étrange ...

MartinJH
la source
1

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 vidé le cache

J'ai eu du succès avec cela, lors de l'exécution de l'installation à partir de l'invite de commande en tant qu'administrateur ne fonctionnait pas

Kpulaparthi
la source
1

$ npm cache clean
npm ERR! À partir de npm @ 5, le cache npm se guérit automatiquement des problèmes de corruption et les données extraites du cache sont garanties valides. Si vous voulez vous assurer que tout est cohérent, utilisez plutôt 'npm cache verify'.

J'ai essayé de courir npm cache verifyavec les droits d'administrateur et cela a fonctionné après cela.

émerveillé
la source
1

Cela a fonctionné pour moi, si vous package.jsonn'êtes pas trop gros, vous pouvez le faire:

  • Déconnexion puis connexion.
  • Supprimer node_modules.
  • npm install encore.
nhoxbypass
la source
0

Comme les autres réponses, nettoyez le cache npm et assurez-vous que le dossier cache est vide, puis exécutez npm install plusieurs fois. Chaque fois que le message d'erreur arrive pour différents packages, et la dernière fois (après X tentatives), il réussit.

  1. Courir npm clean cache --force
  2. cd %APPDATA%\npm-cache(ou cd $env:APPDATA\npm-cachepour PowerShell)
  3. del * pour tout supprimer du dossier
  4. Revenez dans le dossier du projet et exécutez npm installplusieurs fois jusqu'à ce que cela réussisse. Notez que les messages d'erreur proviennent à chaque fois de différents packages.
Eivind Gussiås Løkseth
la source
0

CE QUI A FONCTIONNÉ POUR MOI

J'ai exécuté l'invite de commande en tant qu'administrateur. Cela a partiellement aidé - car je n'ai plus eu l'erreur, "Veuillez réessayer d'utiliser cette commande en tant que root / administrateur". J'essayais d'installer Cordova. Pour le faire avec succès, j'ai également dû faire ce qui suit:

(1) "npm update node", plus ...

(2) J'ai également ajouté le "-g" dans le >> npm install cordova <<. En d'autres termes, tapez ceci: >> npm install -g cordova <<

~~~ POUR WINDOWS 8.1 ~~~

INVITE DE COMMANDE "EXÉCUTER EN TANT QU'ADMINISTRATEUR"

Pour Windows 8.1, je n'ai pas de groupe ACCESSOIRES lorsque je clique sur DÉMARRER> TOUS LES PROGRAMMES. Mais j'ai cet ancien - mais fiable et fiable - BOUTON DE DÉMARRAGE et MENU DE DÉMARRAGE - grâce à l'application gratuite du menu de démarrage classique. 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 vous avez déjà une fenêtre d'invite de commandes ouverte et en cours d'exécution - et que vous voulez 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 cela aide quelqu'un.

Sandi Laufenberg-Deku
la source
0

Je ne sais pas quelles étapes ont fonctionné pour moi. Mais voici mes étapes pour me débarrasser de cette erreur:

  1. Node.js mis à jour
  2. RAN cache NPM propre commande dans l' invite de commande (avec un élément de doute pour la présence de cache)
  3. Ran react-native init dans l'invite de commande en tant qu'administrateur (sur Windows OS), en espérant qu'il fonctionne bien avec sudo react-native init sur Mac OS
développeur
la source
J'ai essayé votre conseil, mais quand je suis arrivé à l'étape 3 - >> exécuter init natif réactif dans l'invite de commande << - apparemment, je n'ai pas installé ce programme -. Suivant - J'ai recherché mon système en utilisant le menu Démarrer Recherche - rien ne s'affiche. Ensuite, je l'ai recherché sur Google et GOOGLE suggère de "réagir ..." (pas de "réactif ..."). Quelqu'un peut-il expliquer comment installer ou utiliser REACTIVE-NATIVE - ou- REACT-NATIVE ??? Merci d'avance
Sandi Laufenberg-Deku
Désolé, c'est une faute de frappe. C'est natif réactif, pas natif réactif
prodeveloper
0
  1. Fermer l'IDE
  2. Fermez les terminaux de nœuds exécutant ng serve ou npm start
  3. Accédez à votre dossier de projet / node_modules et voyez si vous pouvez trouver le package que vous essayez d'installer
  4. Si vous trouvez le package que vous recherchez, supprimez le dossier du package
  5. Dans le cas où il s'agit de votre première installation npm, sautez l'étape 4 et supprimez tout ce qui se trouve à l'intérieur des node_modules. Si vous ne trouvez pas node_modules, créez un dossier dans votre projet.
  6. Ouvrez le terminal en mode administrateur et effectuez l'installation de npm.

Cela devrait résoudre le problème, espérons-le

Raviraj Parab
la source
0

ENFIN, cela fonctionne après 4 heures d'installation, de désinstallation, de mise à jour, bla bla.

La seule chose qui l'a fait était d'utiliser une ancienne version du nœud v8.9.1 x64

C'était un PC Windows 10.

J'espère que cela aide quelqu'un.

Nick Benedict
la source
0

Si vous êtes dans un projet natif de réaction et que l' Expo est en cours d'exécution , fermez-le .

Réinstallez le package et tout devrait bien se passer.

Seyna
la source
0

N'oubliez pas de mettre fin à tous les autres commandes par exemple npm run dev-server.

goulashsoup
la source
Cela devrait vraiment être un commentaire. Il donne des informations supplémentaires utiles, mais ne résout pas la question.
GhostCat
@GhostCat C'est une solution possible, donc ça devrait être une réponse!
goulashsoup
0

Une solution qui a fonctionné consiste à fermer toutes les instances PowerShell et cmd. Redémarrez PowerShell / cmd en tant qu'administrateur et les choses semblent fonctionner.

Cela peut se produire si vous utilisez react-native et que la cmd node.js est ouverte en arrière-plan.

Serguei Fedorov
la source
0

Sur Windows 10, npm cache clean --forceet npm cache verifyn'a pas fonctionné pour moi. J'ai essayé de supprimer le dossier et le fichier de cache avec l'autorisation d'administrateur, n'a pas fonctionné. L' outil de l'explorateur de processus m'a aidé à trouver qui Node.exetient sur le fichier cache. J'ai tué le processus et essayé de nettoyer, travaillé.

M Patil
la source