npm ERR! Weigert sich, EEXIST zu löschen / zu codieren


87

Ich laufe nur eine einfache npm installund ich bekomme diesen Fehler.

npm ERR! path /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/.bin/which
npm ERR! code EEXIST
npm ERR! Refusing to delete /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/.bin/which: is outside /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/which and not a link
npm ERR! File exists: /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/.bin/which
npm ERR! Move it away, and try again

Dies ist das erste Mal, dass ich diesen Fehler erhalte und nicht weiß, was ich tun soll.


hast du auch versucht zu rennen sudo npm install?
Antzshrek

Ja, es tat das gleiche
Azoulay Jason

1
Ich habe dieses Problem auch gesehen, als ich ein Projekt in einem Ordner gehostet habe, der mit Google File Stream synchronisiert wurde. Nachdem ich das Projekt auf eine "lokale Festplatte" verschoben hatte, konnte ich es ausführennpm install
Trevor

Antworten:


135

Schritte

  1. Löschen Sie das node_modulesVerzeichnis vollständig.
  2. Führen Sie npm installerneut aus.

Das sollte helfen.


Dies konnte danach nicht installiert werden, da npm-cli.js fehlte. Am Ende habe ich die unten stehende Umbenennungslösung durchgeführt und npx-Dateien entfernt
David Bradley

Das funktioniert zwar, aber das Löschen und Installieren dauert lange. Diese Lösung ist nicht optimal.
Jason

1
Jetzt erhalte ich "Kann Modul C nicht finden: \ Programme \ nodejs \ node_modules \ npm \ bin \ npm-cli.js"
David Klempfner

1
@DavidKlempfner Vielleicht möchten Sie diese andere SO-Antwort überprüfen. Stackoverflow.com/questions/24721903/…
antzshrek

27

So löste ich meine, nachdem ich herumgegoogelt hatte ...

  • Navigieren Sie zu dem Verzeichnis, in dem Ihr Knoten installiert wurde
  • Benennen Sie Ihre npm.cmdund npmDateien um
  • Versuchen Sie erneut, die Installation auszuführen
  • Wenn erfolgreich, löschen Sie die zuvor umbenannten Dateien npmundnpm.cmd
  • wenn nicht, :( :(

Die cli-Befehle hier ... für den Fall, dass Sie nicht umbenennen möchten und so

cd %ProgramFiles%\nodejs
ren npm.cmd npm2.cmd
ren npm npm2 
npm2 install npm@latest -g

del npm2
del npm2.cmd

Rolf-schmidiger


4
Diese Antwort funktionierte für mich, aber ich musste auch npx.cmd und npx in npx2.cmd und npx2 umbenennen. Ich musste das Terminal auch als Administrator ausführen.
Raphadko

4
Das hat auch bei mir funktioniert. Musste npx und npx.cmd sowie npm und npm.cmd umbenennen. Ich habe dann "npm_ update -g npm" gemacht und es hat funktioniert. Vielleicht hatte es etwas damit zu tun, dass ich nodejs nicht über einen Installer installiert, sondern stattdessen aus einer Zip-Datei extrahiert habe.
Igor

1
müssen auch npx.cmd umbenennen
Reza

1
Ich habe die npx-Dateien gelöscht, anstatt sie umzubenennen, die funktionierten. Es wurden neue erstellt.
David Bradley

2
Das hat auch bei mir funktioniert. @DavidKlempfner führt den Befehl mit npm2 aus, nachdem er umbenannt wurde. Danach stieß ich auf ein Problem mit der Weigerung, `... \ npm \ node_modules * \ node_modules \ .bin * zu löschen. Ich habe die .bin-Ordner jedes Mal manuell gelöscht, wenn es sich beschwerte (wie zweimal oder dreimal) und es funktionierte.
Zakk Diaz

7

Versuchen Sie npm update -g npmes npm ierneut und führen Sie es erneut aus.
Wenn das nicht funktioniert, npm cache cleanhilft es vielleicht .

Wenn dies auch nicht funktioniert, sollten Sie den node_modulesOrdner in Ihrer Anwendung entfernen und npm ierneut ausführen .
Wenn Sie immer noch kein Glück haben, empfehle ich, package-lock.jsonden node_modulesOrdner und den Ordner vor dem Ausführen zu entfernen npm i.


2
@ AzoulayJason Ich habe gerade realisiert. Wenn Sie die neueste Version der eckigen CLI verwenden, wird dringend empfohlen, yarnanstelle von zu verwenden npm i. In der neuesten Version gibt es einen Fehler im Zusammenhang mit npm. Ich hoffe es hilft!
OArnarsson

Ab npm @ 5 heilt sich der npm-Cache selbst von Korruptionsproblemen und die aus dem Cache extrahierten Daten sind garantiert gültig. Wenn Sie sicherstellen möchten, dass alles konsistent ist, verwenden Sie stattdessen 'npm cache verify'.
Ruan

4

Ich habe dieses Problem unter Linux (npm ist die neueste Version 5.6.0), weil ich ein TGZ-Archiv erstellt habe und man tarbeim Erstellen eines TGZ-Archivs (das zum Testen auf VM kopiert wurde) einige Symlinks (siehe ) referenzieren musste ). Auf diese Weise wurden viele Symlinks node_modules/.binauch zu regulären Dateien. npm sagt in der Fehlermeldung .eg

npm ERR! Weigert sich, /path/to/node_modules/.bin/jest zu löschen: befindet sich außerhalb von / path / to / node_modules / jest und ist kein Link


1

Ich hatte einen ähnlichen Fehler (meiner ist nicht @angular), der
durch Löschen und erneutes Installieren des Knotens mit dem Installationsprogramm behoben wurde.


1

Ich hatte das gleiche Problem und es stellte sich heraus, dass eine streunende Instanz von npmirgendwo im Hintergrund ausgeführt wurde, als ich versuchte, die Installation durchzuführen (es war Webpack npm run serve, um genau zu sein).

Das Stoppen der laufenden Instanz hat das Problem behoben.


1

Ich hatte ein ähnliches Problem und es scheint funktioniert zu haben, npm zu deinstallieren und neu zu installieren, um sicherzustellen, dass Sie als der richtige Benutzer für die Neuinstallation angemeldet sind. Ich glaube, ich habe zuvor npm als root installiert, aber ein Paket als regulärer (sudo) Benutzer aktualisiert.


1

Ich hatte dieses Problem bei der Arbeit an einer virtuellen, verschlüsselten Festplatte. Das Verschieben des Projekts auf eine normale Festplatte löste das Problem.


1
  1. Deinstallieren Sie node.js über die Systemsteuerung
  2. Löschen Sie unter den Ordnern
C:\Program Files (x86)\Nodejs
C:\Program Files\Nodejs
C:\Users\{User}\AppData\Roaming\npm (or %appdata%\npm)
C:\Users\{User}\AppData\Roaming\npm-cache (or %appdata%\npm-cache)
C:\Users\{User}\.npmrc (and possibly check for that without the . prefix too)
C:\Users\{User}\AppData\Local\Temp\npm-*
  1. Installieren Sie node.js erneut

1

Das hat bei mir funktioniert

npm install -g --force gatsby-cli

Vielen Dank


0

Ich habe den gleichen Fehler, aber als ich versuchte, das Modul "cordova" auf Version 9 zu aktualisieren, habe ich es behoben, indem ich die Installation mit erzwungen habe --force. Der Befehl npm, den ich verwendet habe:

npm i -g --force cordova@9 

0

Für Windows-Benutzer (speziell für Windows 10) muss dies das Problem lösen.

Gehe zu diesem Ordner:

C:\Users\[UserName]\AppData\Roaming\

Löschen oder benennen Sie die Ordner npmund um npm-cache.

Dies hat mein Problem in Windows behoben.

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.