npm - EPERM: Betrieb unter Windows nicht zulässig


104

Ich rannte

npm config set prefix /usr/local

Nach dem Ausführen dieses Befehls wird beim Versuch, npm-Befehle unter Windows auszuführen, immer wieder Folgendes angezeigt.

Error: EPERM: operation not permitted, mkdir 'C:\Program Files (x86)\Git\local'
at Error (native)

Habe alle Dateien von gelöscht

C:\Users\<your username>\.config\configstore\

Es hat nicht funktioniert.

Irgendein Vorschlag ?


25
Laufen hat npm cache clean --forcedas Problem für mich gelöst.
Nuhman

Das zweimalige Ausführen von npm cache clean --force hat bei mir funktioniert.
VIshal Jain

Antworten:


99

Das Ausführen dieses Befehls war mein Fehler.

npm config set Präfix / usr / local

Pfad /usr/localist nicht für Windows. Dieser Befehl hat die Präfixvariable bei geändert'C:\Program Files (x86)\Git\local'

Um auf dieses Verzeichnis zuzugreifen und es zu ändern, muss ich mein cmd als Administrator ausführen.

So tat ich:

  1. Führen Sie cmd als Administrator aus
  2. Ausführen npm config edit(Sie erhalten einen Editor für den Notizblock)
  3. Ändern Sie die prefixVariable inC:\Users\<User Name>\AppData\Roaming\npm

Funktioniert dann npm startin einer normalen Konsole.


4
Dies löste auch mein Problem (Windows 10), danke.
AntonB

In meinem Fall habe ich einfach nicht kommentiert prefix(war ;prefix...) danach npm config editund Profit. Ich bin mir nicht sicher, ob das eine kluge Sache ist, aber es hat funktioniert.
Ruffin

In meinem Fall hatte ich keine Administratorrechte für den Laptop. Hier ist, wie ich es gemacht habe - stackoverflow.com/a/57249779/10603466
Rishabh Jain

Nur ein erneuter Start als Administrator hat mein Problem behoben.
Unzerbrechlich

31

Dies liegt daran, dass Windows dem Benutzer keine Berechtigung zum Erstellen eines Ordners innerhalb des Systemlaufwerks erteilt. Um dies zu lösen:

Rechtsklick

Die Registerkarte Ordner> Eigenschaften > Sicherheit

Klicken Sie auf Bearbeiten , um die Berechtigungen zu ändern.> Wählen Sie den Benutzer aus und geben Sie diesem Benutzer die volle Kontrolle .


2
Fügen Sie eine Erklärung mit Antwort hinzu, wie diese Antwort OP bei der Behebung des aktuellen Problems
hilft

1
Es ist keine gute Idee, dem Benutzer Zugriff zum Ändern von Systemordnern zu gewähren, insbesondere wenn dies leicht behoben werden kann, indem das Präfix in einen Ordner im Basisverzeichnis des Benutzers geändert wird.
Atomic77

1
Dies funktioniert nicht mit einem Firmen-Laptop, auf dem Sie nicht der Systemadministrator sind.
Schlingel


26

Manchmal ist es nur erforderlich, den Entwicklungsserver anzuhalten, bevor Pakete installiert / aktualisiert werden.


1
Hatte dieses Problem auf WebStorm. Danke dir! Dies löste das Problem.
Takasoft

1
wie seltsam, aber wahr ... die Installation von react-dom@16.7.0-alpha.0 zum Ausprobieren von React Hooks funktionierte erst, als
ich

So fügen Sie dies, wenn Sie dieses Problem vermuten ist Ihr dev - Server läuft , aber nicht wissen , wie es zu stoppen, nur logout / Neustart Ihre Fenster wird immer diese lool fix
Ng Sek Lange

24

Ich hatte kürzlich das gleiche Problem, als ich auf die neue Version aktualisiert habe. Die einzige Lösung bestand darin, das Downgrade durchzuführen

So deinstallieren Sie:

npm uninstall npm -g

Installieren Sie die vorherige Version:

npm install npm@5.3 -g

Versuchen Sie, die Version in einem anderen Moment zu aktualisieren.


2
Hier gilt das gleiche. Es sieht so aus, als ob ein Upgrade von npm das Problem war
SokIsKedu

Genau, ich verfolge dieses Thema, um zu wissen, wann es behoben wird.
Leonardo Oliveira

das hat es für mich behoben!
Jim

Übrigens habe ich von 5.4.1 auf 5.4.2 aktualisiert und das Problem scheint verschwunden zu sein. Ich denke, das Problem wurde möglicherweise behoben. Etwas schwer zu sagen, da das Thema, auf das sich Leonardo bezog, gesperrt war.
Mantis Support

Es hat auch bei mir funktioniert. Danke @LeonardoOliveira für die Hilfe
Vipin

12

In meinem Fall trat dieser Fehler auf, weil mein Verzeichnis und seine Datei während der Ausführung in meinem Editor (VS-Code) geöffnet wurden npm install. Ich habe das Problem gelöst, indem ich meinen Editor geschlossen und npm installdie Befehlszeile durchlaufen habe.


10

Ich hatte das gleiche Problem, nachdem ich npm aktualisiert hatte. Es wurde behoben, indem die neueste npm erneut installiert wurde mit:

npm i -g npm

Diesmal jedoch mit cmd im Administrationsmodus.

Ich habe das alles gemacht, weil ich vermutete, dass es ein Problem mit dem Update gab, hauptsächlich einige fehlende Dateien.


10

Ich verwende Windows 10. Ich habe das CMD als Administrator gestartet und es hat das Problem gelöst.

Suchen Sie CMD, klicken Sie mit der rechten Maustaste und klicken Sie auf Als Administrator öffnen.


Das hat mein Problem gelöst.
muneeb_ahmed

@EtienneGautier Das ist ... einfach überhaupt nicht wahr. Was ist Ihre vorgeschlagene Lösung zum Ändern von Systemdateien? Wenn es eine andere Möglichkeit gibt als mit "Administratorberechtigungen", stimmt etwas ernsthaft mit der Sicherheit des Betriebssystems nicht.
Clonkex

Hey @Clonkex, ich nahm an, dass der Kontext der von NPM war (gemäß der Frage). Mein Kommentar ist immer noch nicht relevant, ich lösche ihn. Danke für deine Rückmeldung.
Etienne Gautier

@ EtienneGautier Ah fair genug.
Clonkex

7

Für mich war es ein Problem, vorhandene Ordner in node_module zu ändern, also habe ich den gesamten Ordner zerstört und npm install erneut ausgeführt. Danach funktioniert es ohne Fehler


7

Ich hatte eine veraltete Version von npm. Ich habe eine Reihe von Befehlen ausgeführt, um dieses Problem zu beheben:

npm cache clean --force

Dann:

npm install -g npm@latest --force

Dann (noch einmal):

npm cache clean --force

Und schließlich konnte ich dies ausführen (Angular-Projekt installieren), ohne die Fehler zu sehen, die ich in Bezug auf Folgendes sah EPERM:

ng new myProject

6

Ich hatte das gleiche Problem, als ich versuchte, das npm-Paket zu installieren AVA. Die Lösung für mich bestand darin, den Ordner node_modules zu löschen und den npm-Cache zwangsweise zu bereinigen:

rm -rf node_modules
npm cache clean --force

Ich könnte dann das npm-Paket ohne Probleme installieren.


Ja, ich hatte irgendwie node_modules-Ordner im aktuellen Arbeitsverzeichnis. Diese Ausnahme wurde ausgelöst, als ich versuchte, eckige CLI-Befehle 'ng new ..' auszuführen. Das Löschen von node_modules-Ordnern hat geholfen.
Ashokan Sivapragasam

3

Wenn dieser Fehler in der Terminal- / Eingabeaufforderung einer IDE angezeigt wird, löschen Sie node_modules, schließen Sie die IDE und führen Sie den npm installBefehl erneut aus. Die Zeit, in der IDE die Analyse des Baums node_modules gestartet, aber noch nicht abgeschlossen hat, ist ein schwieriger Moment, in dem die Paketinstallation möglicherweise fehlschlägt, da IDE den Inhalt von node_modules weiterhin scannt.


2

Einfachster Weg

Ich hoffe, ich bin nicht zu spät für diesen Beitrag, aber in letzter Zeit wurde auch ich von diesem Problem betroffen. Außerdem hatte ich keine Administratorrechte auf meinem Laptop.

Hier ist der einfachste Weg, wie ich den Fehler behoben habe.

  1. Suchen Sie den Dateinamen .npmrc(er wird in sein C:\Users\<user name>\.npmrc)
  2. Öffnen Sie es und ändern Sie den Pfad von prefix=zuprefix=C:\Users\<user name>\AppData\Roaming\npm

hoffe es wird hilfreich sein ..


Ich hatte dieses Problem mit WebStorm. Dies ist das einzige auf der ersten Seite von Google, das mein Problem gelöst hat. Danke Rishabh!
Leandro

2

Ein Neustart von VsCode hat das Problem für mich gelöst


1

Ich hatte das gleiche Problem, als ich mein Firmen-LAN benutzte. Ich bin einfach gelaufen cmd.exe npmund konnte meine anderen Befehle danach fehlerfrei ausführen.

C:\Users\586656>cmd.exe npm
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

Teilen Sie dies einfach, da dies anderen Leuten helfen kann, die dies in ihrem Büro-LAN versuchen. Danke dir.


1

Führen Sie cmd einfach als Administrator aus. Löschen Sie den alten Ordner node_modules und führen Sie die npm-Installation erneut aus.


1
Die npm-Installation sollte funktionieren, ohne CMD als Administrator zu starten. Es funktioniert nicht auf normalem cmd (nicht admin) ist auch ein Problem.
Lahar Shah

1

Finden Sie diesen Befehl npm cache cleanals Lösung für diesen Fehler auf schnelle und einfache Weise!


1

Ich habe meine Knotenversion auf 8.9.4 aktualisiert und den erforderlichen Installationsbefehl erneut über die Administrator-Eingabeaufforderung ausgeführt. Es hat bei mir funktioniert!


1

Ein Neustart meines Laptops und dann

npm install

hat für mich gearbeitet!


1

Ist mir passiert, da der Ordner / die Datei durch einen anderen Prozess gesperrt wurde. Hat ein Tool (LockHunter) verwendet, um diesen Prozess zu beenden, und es hat wieder funktioniert (möglicher Grund).


1

Versuchen Sie npm i -g npm. NPM Version 6.9 ist Arbeit für mich.


1

Windows 10,

Das Ausführen der IDE (in meinem Fall IntelliJ) im Administratormodus und das Ausführen der npm-Installation behebt das Problem.

Wenn keine IDE vorhanden ist, führen Sie CMD im Administratormodus aus und versuchen Sie, die npm-Installation auszuführen


1

Ich habe den Create-React-App-Server ausgeführt. Einfach den Server gestoppt und alles hat gut funktioniert.


1
Das hat mein Problem gelöst! Ich denke, Sie sollten dies zuerst versuchen, bevor Sie die anderen versuchen. Da andere Antworten mehr Aufwand erfordern.
Irfandy Jip


0

Das Ausführen von npm-Befehlen in Windows Powershell hat mein Problem behoben.


Ich muss keine der lokalen oder anderen Konfigurationsdateien bearbeiten
Sai Prasad

0

Meine Lösung war Android Studio, AVD Manager, Visual Studio und Neuinstallation. Ich habe diesen Befehl ausgeführt, um meine Expo-Cli zu aktualisieren:

npm install -g expo-cli

0

Anscheinend kann auch Antivirensoftware diesen Fehler verursachen. In meinem Fall hatte ich den Ransomware-Schutz von Windows Security, der meine Benutzerordner schützte, was diesen Fehler verursachte.


0

Für mich war es ein Problem mit der .npmrc-Datei. Was in C: \ Users \ myname.npmrc vorhanden ist Irgendwie wurde der Inhalt der .npmrc-Datei geändert. Ich habe den Inhalt durch Vergleich mit dem Laptop meines Kollegen geändert. Also löste es sich.

Als Referenz füge ich auch den Inhalt der .npmrc-Datei hinzu

 ;;;;
 ;npm userconfig file
 ;this is a simple ini-formatted file
 ;lines that start with semi-colons are comments.
 ;read `npm help config` for help on the various options
 ;;;;

 //registry.npmjs.org/:_authToken=95632bcf-3056-4538-b57d-38426736e3a0
 scope=true
 @true:registry=https://registry.npmjs.org/

 ;;;;
 ;all options with default values
 ;;;;
 ;access=null

 ;allow-same-version=false

 ;always-auth=false

 ;also=null

 ;audit=true

 ;audit-level=low

 ;auth-type=legacy

 ;before=null

 ;bin-links=true

 ;browser=null

 ;ca=null

 ;cafile=undefined

 ;cache=C:\Users\myname\AppData\Roaming\npm-cache

 ;cache-lock-stale=60000

 ;cache-lock-retries=10

 ;cache-lock-wait=10000

 ;cache-max=null

 ;cache-min=10

 ;cert=null

 ;cidr=null

 ;color=true

 ;depth=null

 ;description=true

 ;dev=false

 ;dry-run=false

 ;editor=notepad.exe

 ;engine-strict=false

 ;force=false

 ;fetch-retries=2

 ;fetch-retry-factor=10

 ;fetch-retry-mintimeout=10000

 ;fetch-retry-maxtimeout=60000

 ;git=git

 ;git-tag-version=true

 ;commit-hooks=true

 ;global=false

 ;globalconfig=C:\Users\myname\AppData\Roaming\npm\etc\npmrc

 ;global-style=false

 ;group=0

 ;ham-it-up=false

 ;heading=npm

 ;if-present=false

 ;ignore-prepublish=false

 ;ignore-scripts=false

 ;init-module=C:\Users\myname\.npm-init.js

 ;init-author-name=

 ;init-author-email=

 ;init-author-url=

 ;init-version=1.0.0

 ;init-license=ISC

 ;json=false

 ;key=null

 ;legacy-bundling=false

 ;link=false

 ;local-address=undefined

 ;loglevel=notice

 ;logs-max=10

 ;long=false

 ;maxsockets=50

 ;message=%s

 ;metrics-registry=null

 ;node-options=null

 ;node-version=10.15.2

 ;offline=false

 ;onload-script=null

 ;only=null

 ;optional=true

 ;otp=null

 ;package-lock=true

 ;package-lock-only=false

 ;parseable=false

 ;prefer-offline=false

 ;prefer-online=false

 ;prefix=C:\Program Files\nodejs

 ;preid=

 ;production=false

 ;progress=true

 ;proxy=null

 ;https-proxy=null

 ;noproxy=null

 ;user-agent=npm/{npm-version} node/{node-version} {platform} {arch}

 ;read-only=false

 ;rebuild-bundle=true

 ;registry=https://registry.npmjs.org/

 ;rollback=true

 ;save=true

 ;save-bundle=false

 ;save-dev=false

 ;save-exact=false

 ;save-optional=false

 ;save-prefix=^

 ;save-prod=false

 ;scope=

 ;script-shell=null

 ;scripts-prepend-node-path=warn-only

 ;searchopts=

 ;searchexclude=null

 ;searchlimit=20

 ;searchstaleness=900

 ;send-metrics=false

 ;shell=C:\windows\system32\cmd.exe

 ;shrinkwrap=true

 ;sign-git-commit=false

 ;sign-git-tag=false

 ;sso-poll-frequency=500

 ;sso-type=oauth

 ;strict-ssl=true

 ;tag=latest

 ;tag-version-prefix=v

 ;timing=false

 ;tmp=C:\Users\myname\AppData\Local\Temp

 ;unicode=false

 ;unsafe-perm=true

 ;update-notifier=true

 ;usage=false

 ;user=0

 ;userconfig=C:\Users\myname\.npmrc

 ;umask=0

 ;version=false

 ;versions=false

 ;viewer=browser

 ;_exit=true

 ;globalignorefile=C:\Users\myname\AppData\Roaming\npm\etc\npmignore

0

Für diejenigen, die versuchen, die Konfiguration zu aktualisieren

Wenn Sie Probleme beim Aktualisieren Ihrer npm-Konfiguration haben, versuchen Sie stattdessen, das Flag -g zu verwenden . Dies löste das Problem unter Win 10 für mich, nachdem ich alles andere ausprobiert hatte.

npm config edit -g

Ich kann die Konfiguration aktualisieren und Änderungen werden überall wiedergegeben. Dies kann daran liegen, dass npm in einem organisatorischen Bereich ausgeführt wird.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.