npm ERR! Rifiutando di cancellare / codificare EEXIST


86

Sto solo eseguendo un semplice npm installe ottengo questo errore.

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

Questa è la prima volta che ricevo questo errore e non so cosa fare.


hai provato anche a correre sudo npm install?
antzshrek

Sì, ha fatto lo stesso
Azoulay Jason

1
Ho riscontrato questo problema anche durante l'hosting di un progetto in una cartella che veniva sincronizzata con Google File Stream. Dopo aver spostato il progetto su un "disco locale" sono stato in grado di eseguirenpm install
Trevor

Risposte:


134

Passi

  1. Elimina node_modulescompletamente la directory.
  2. Corri di npm installnuovo.

Questo dovrebbe aiutare.


L'installazione non è riuscita dopo averlo fatto, con npm-cli.js mancante. Ho finito per fare la soluzione di rinomina di seguito insieme alla rimozione dei file npx
David Bradley il

funziona, sì, ma la cancellazione e l'installazione richiedono molto tempo. questa soluzione non è ottimale.
jasie

1
Ora ottengo "Impossibile trovare il modulo C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js '
David Klempfner

1
@DavidKlempfner si potrebbe voler controllare questo altro SO risposta stackoverflow.com/questions/24721903/...
antzshrek

27

Questo è il modo in cui ho risolto il mio dopo aver cercato su Google ...

  • Vai alla directory in cui è stato installato il tuo nodo
  • rinomina i tuoi file npm.cmdenpm
  • Prova a eseguire di nuovo l'installazione
  • In caso di successo, elimina i file rinominati in precedenza npmenpm.cmd
  • altrimenti, :( :(

I comandi cli qui ... nel caso in cui non si desideri rinominare e cose

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

del npm2
del npm2.cmd

Rolf-schmidiger


4
Questa risposta ha funzionato per me, ma ho anche dovuto rinominare npx.cmd e npx in npx2.cmd e npx2. Ho anche dovuto eseguire il terminale come amministratore.
raphadko

4
Questo ha funzionato anche per me. Ho dovuto rinominare npx e npx.cmd così come npm e npm.cmd. Poi ho fatto "npm_ update -g npm" e ha funzionato. Forse aveva qualcosa a che fare con il fatto che non ho installato nodejs tramite un programma di installazione, ma l'ho invece estratto da un file zip.
Igor

1
anche bisogno di rinominare npx.cmd
Reza

1
Ho cancellato i file npx invece di rinominarli che funzionavano, ne sono stati creati di nuovi.
David Bradley,

2
Questo ha funzionato anche per me. @DavidKlempfner esegue il comando utilizzando npm2 ora che è stato rinominato. Dopodiché mi sono imbattuto in un problema relativo al rifiuto di eliminare `... \ npm \ node_modules * \ node_modules \ .bin * Ho semplicemente cancellato manualmente le cartelle .bin ogni volta che si è lamentato (come due o 3 volte) e ha funzionato.
Zakk Diaz

7

Prova a correre e npm update -g npmpoi di npm inuovo.
Se non funziona forse npm cache cleanaiuta.

Se anche questo non funziona, dovresti considerare di rimuovere la node_modulescartella nella tua applicazione e di eseguirla di npm inuovo.
Se ancora non hai fortuna, ti suggerisco di rimuovere package-lock.jsonla node_modulescartella e prima di eseguire npm i.


2
@AzoulayJason mi sono appena reso conto. Se stai utilizzando la versione più recente della CLI angolare, ti consigliamo vivamente di utilizzare al yarnposto di npm i. C'è una sorta di bug relativo a npm nell'ultima versione. Spero che sia d'aiuto!
OArnarsson

A partire da npm @ 5, la cache npm si risolve automaticamente dai problemi di danneggiamento e viene garantita la validità dei dati estratti dalla cache. Se vuoi assicurarti che tutto sia coerente, usa invece "npm cache verify".
Ruan

4

Ho riscontrato questo problema su Linux (npm è l'ultima 5.6.0 corrente), perché ho creato un archivio tgz e avevo bisogno di --dereferenziare alcuni collegamenti simbolici (vedi man tar) durante la creazione di un archivio tgz (che è stato copiato su VM per il test ). In questo modo molti node_modules/.bincollegamenti simbolici divennero anche file regolari. npm dice nel messaggio di errore, .eg

npm ERR! Rifiutarsi di eliminare /path/to/node_modules/.bin/jest: è esterno a / path / to / node_modules / jest e non è un collegamento


1

Ho avuto un errore simile (il mio non è @angular),
risolto eliminando e reinstallando il nodo con il programma di installazione.


1

Ho avuto lo stesso problema e si è scoperto che il problema era che un'istanza vagante di npmera in esecuzione da qualche parte in background nello stesso momento in cui stavo cercando di eseguire l'installazione (era di Webpack npm run serve, per la precisione).

L'arresto dell'istanza in esecuzione ha risolto il problema.


1

Ho avuto un problema simile e quello che sembra aver funzionato è disinstallare npm e reinstallarlo, assicurandomi di essere loggato come utente corretto per la reinstallazione. Penso di aver precedentemente installato npm come root, ma stavo aggiornando un pacchetto come utente normale (sudo).


1

Ho riscontrato questo problema lavorando su un disco virtuale crittografato. Spostare il progetto su un disco normale ha risolto il problema.


1
  1. Disinstalla node.js dal pannello di controllo
  2. Elimina sotto le cartelle
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. Installa di nuovo node.js

1

Questo ha funzionato per me

npm install -g --force gatsby-cli

Grazie


0

Ho lo stesso errore ma quando stavo cercando di aggiornare il modulo "cordova" alla versione 9. L'ho risolto forzando l'installazione con --force. Il comando npm che ho usato:

npm i -g --force cordova@9 

0

Per gli utenti Windows (specifici per Windows 10) questo deve risolvere il problema.

Vai a questa cartella:

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

eliminare o rinominare le cartelle npme npm-cache.

Questo ha risolto il mio problema in Windows.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.