npm - EPERM: operazione non consentita su Windows


106

Ho corso

npm config set prefix /usr/local

Dopo aver eseguito quel comando, quando provo a eseguire qualsiasi comando npm sul sistema operativo Windows continuo a ottenere quanto segue.

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

Hanno cancellato tutti i file da

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

Non ha funzionato.

Qualche suggerimento ?


25
La corsa ha npm cache clean --forcerisolto il problema per me.
Nuhman

L'esecuzione di npm cache clean --force per due volte ha funzionato per me.
VIshal Jain

Risposte:


101

L'esecuzione di questo comando è stato un mio errore.

npm config set prefix / usr / local

Path /usr/localnon è per Windows. Questo comando ha modificato la variabile del prefisso in'C:\Program Files (x86)\Git\local'

Per accedere e apportare una modifica a questa directory, devo eseguire il mio cmd come amministratore.

Così ho fatto:

  1. Esegui cmd come amministratore
  2. Esegui npm config edit(otterrai l'editor del blocco note)
  3. Cambia prefixvariabile inC:\Users\<User Name>\AppData\Roaming\npm

Quindi npm startfunziona in una normale console.


4
questo ha risolto anche il mio problema (Windows 10), grazie.
AntonB

Nel mio caso, ho semplicemente decommentato prefix(era ;prefix...) dopo npm config edite Profitto. Non sono sicuro che sia una cosa intelligente, ma ha funzionato.
ruffin

nel mio caso non avevo diritti di amministratore per me sul laptop, quindi ecco come l'ho fatto :
stackoverflow.com/a/57249779/10603466

Solo rieseguendo come amministratore ha risolto il mio problema.
Unbreakable

32

Ciò si verifica perché Windows non consente all'utente di creare una cartella all'interno dell'unità di sistema. Per risolvere questo problema:

Fare clic con il tasto destro

La cartella> Proprietà > scheda Sicurezza

Fare clic su Modifica per modificare le autorizzazioni> Selezionare l'utente e concedere il controllo completo a tale utente.


2
Aggiungi qualche spiegazione con la risposta su come questa risposta aiuti OP a risolvere il problema attuale
ρяσsρєя K

1
Concedere all'utente l'accesso per modificare le cartelle di sistema non è una buona idea, soprattutto quando questo può essere facilmente risolto cambiando il prefisso in una cartella nella directory home dell'utente.
atomic77

1
questo non funzionerà con un laptop aziendale in cui non sei l'amministratore di sistema.
schlingel


26

A volte, tutto ciò che serve è fermare il server dev prima di installare / aggiornare i pacchetti.


1
Ho riscontrato questo problema su WebStorm. Grazie! Questo ha risolto il problema.
Takasoft

1
che strano ma vero ... l'installazione di react-dom@16.7.0-alpha.0 per provare gli hook di reazione non ha funzionato fino a quando non lo hai provato
Dimitar Nikovski

Per aggiungere a questo, se sospetti che questo problema sia il tuo server di sviluppo in esecuzione ma non sai come fermarlo, basta disconnettersi / riavviare le finestre risolverà sempre questo problema
Ng Sek Long

24

Recentemente ho avuto lo stesso problema quando sono passato alla nuova versione, l'unica soluzione era fare il downgrade

Per disinstallare:

npm uninstall npm -g

Installa la versione precedente:

npm install npm@5.3 -g

Prova ad aggiornare la versione in un altro momento.


2
Anch'io. Sembra che l'aggiornamento npm sia stato il problema
SokIsKedu

Esatto, sto seguendo questo argomento per sapere quando verrà risolto.
Leonardo Oliveira

questo lo ha risolto per me!
Jim,

a proposito, ho aggiornato da 5.4.1 a 5.4.2 e il problema sembra essere sparito, quindi penso che il problema potrebbe essere stato risolto. Un po 'difficile da dire poiché l'argomento a cui si riferiva Leonardo era bloccato.
Supporto Mantis

Ha funzionato anche per me. Grazie @LeonardoOliveira per l'aiuto
Vipin

13

Nel mio caso, stavo affrontando questo errore perché la mia directory e il suo file sono stati aperti nel mio editor (codice VS) mentre ero in esecuzione npm install. Ho risolto il problema chiudendo il mio editor ed eseguendo npm installla riga di comando.


10

Ho avuto lo stesso problema, dopo aver aggiornato npm. Risolto reinstallando di nuovo l'ultimo npm con:

npm i -g npm

ma questa volta con cmd in esecuzione in modalità di amministrazione.

Ho fatto tutto questo perché sospettavo ci fosse un problema con l'aggiornamento, principalmente alcuni file mancanti.


10

Uso Windows 10. Ho avviato CMD come amministratore e ha risolto il problema.

Trova CMD, fai clic con il pulsante destro del mouse e fai clic su Apri come amministratore.


@EtienneGautier Questo ... semplicemente non è affatto vero. Qual è la soluzione proposta per modificare i file di sistema? Se c'è un modo per farlo diverso dai "permessi di amministratore", allora c'è qualcosa di seriamente sbagliato nella sicurezza del sistema operativo.
Clonkex

Ehi @ Clonkex, stavo supponendo che il contesto fosse quello di NPM (secondo la domanda). Ancora il mio commento non è rilevante, lo sto eliminando. Grazie per il tuo feedback.
Etienne Gautier

@EtienneGautier Ah abbastanza giusto.
Clonkex

7

per me si trattava di modificare le cartelle esistenti in node_module, quindi ho cancellato l'intera cartella ed eseguito di nuovo l'installazione di npm. dopo funziona senza errori


7

Avevo una versione obsoleta di npm. Ho eseguito una serie di comandi per risolvere questo problema:

npm cache clean --force

Poi:

npm install -g npm@latest --force

Quindi (ancora una volta):

npm cache clean --force

E finalmente sono stato in grado di eseguirlo (installando il progetto Angular) senza gli errori che stavo vedendo riguardo EPERM:

ng new myProject

6

Ho avuto lo stesso problema quando ho provato a installare il pacchetto npm AVA. La soluzione per me era eliminare la cartella node_modules e forzare la pulizia della cache npm:

rm -rf node_modules
npm cache clean --force

Potrei quindi installare il pacchetto npm senza problemi.


Sì, in qualche modo avevo le cartelle node_modules nella directory di lavoro corrente. Stava lanciando quell'eccezione quando ho provato a eseguire i comandi cli angolari 'ng new ..'. L'eliminazione delle cartelle node_modules ha aiutato.
Ashokan Sivapragasam

3

Il modo più semplice

Spero di non essere troppo in ritardo per questo post, ma recentemente anche io sono stato colpito da questo problema. E inoltre non avevo diritti di amministratore sul mio laptop.

Ecco il modo più semplice per risolvere il bug.

  1. Individua il nome del file .npmrc(sarà in C:\Users\<user name>\.npmrc)
  2. Aprilo e cambia il percorso di prefix=aprefix=C:\Users\<user name>\AppData\Roaming\npm

spero che sia utile ..


1
Ho avuto questo problema utilizzando WebStorm. Questa è l'unica cosa nella prima pagina di Google che ha risolto il mio problema. Grazie Rishabh!
Leandro

felice che ti abbia aiutato :)
Rishabh Jain il

3

Se ricevi questo errore nel prompt dei comandi / del terminale di un IDE, prova a eliminare node_modules, chiudi IDE ed esegui npm installnuovamente il comando. Il momento in cui IDE ha avviato ma non ha ancora completato la sua analisi dell'albero node_modules è un momento delicato, quando l'installazione dei pacchetti potrebbe non riuscire perché IDE sta ancora esaminando i contenuti di node_modules.



1

Ho avuto lo stesso problema, poiché stavo usando la mia LAN aziendale. E ho appena corso cmd.exe npme sono stato in grado di eseguire gli altri miei comandi senza alcun errore dopo.

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

Basta condividere questo, in quanto potrebbe aiutare altre persone che cercano di farlo nella LAN del loro ufficio. Grazie.


1

Esegui semplicemente cmd come amministratore. eliminare la vecchia cartella node_modules ed eseguire nuovamente l'installazione di npm.


1
L'installazione di npm dovrebbe funzionare senza avviare CMD come amministratore. Anche non funziona su cmd normale (non amministratore) è un problema.
Lahar Shah

1

Trova questo comando npm cache cleancome soluzione a questi errori in modo semplice e veloce!


1

Ho aggiornato la mia versione del nodo alla 8.9.4 e ho eseguito nuovamente il comando di installazione necessario dal prompt dei comandi dell'amministratore. Ha funzionato per me!


1

Un riavvio del mio laptop e poi

npm install

ha funzionato per me!


1

Mi è successo da quando la cartella / il file è stato bloccato da un altro processo. Ha utilizzato uno strumento (LockHunter) per terminare il processo e ha ripreso a funzionare (possibile motivo).


1

Prova npm i -g npm. La versione 6.9 di NPM funziona per me.


1

Windows 10,

L'esecuzione dell'IDE (nel mio caso IntelliJ) in modalità amministratore e l'esecuzione dell'installazione di npm risolve il problema.

In assenza di IDE, eseguire CMD in modalità amministratore e provare a eseguire l'installazione di npm


1

Stavo eseguendo il server create-react-app. Ho semplicemente fermato il server e tutto ha funzionato perfettamente.


1
Questo ha risolto il mio problema! Penso che dovresti provare questo prima di provare gli altri. Poiché altre risposte richiedono uno sforzo maggiore.
Irfandy Jip


0

L'esecuzione di comandi npm in Windows Powershell ha risolto il mio problema.


Non ho bisogno di modificare nessuno dei file di configurazione locali o altro
Sai Prasad

0

Lo stesso per me, la mia soluzione era chiudere Android Studio, AVD Manager, Visual Studio e reinstallare. Ho eseguito questo comando per aggiornare il mio cli expo:

npm install -g expo-cli

0

Apparentemente anche il software antivirus può causare questo errore. Nel mio caso avevo la protezione ransomware di Windows Security che proteggeva le mie cartelle utente che hanno causato questo errore.


0

Per me, era un problema con il file .npmrc. Che è presente in C: \ Users \ myname.npmrc In qualche modo il contenuto del file .npmrc è stato modificato. Ho modificato il contenuto confrontandolo con il laptop dei miei colleghi. Quindi ha risolto.

Per riferimento, sto aggiungendo anche il contenuto del file .npmrc

 ;;;;
 ;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

Per coloro che cercano di aggiornare config

Se hai problemi ad aggiornare la tua configurazione npm, prova invece a eseguire usando il flag -g . Questo ha risolto il problema su Win 10 per me dopo aver provato tutto il resto.

npm config edit -g

Sono in grado di aggiornare la configurazione e le modifiche si riflettono ovunque. Ciò potrebbe essere dovuto all'esecuzione di npm in un ambito organizzativo.


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.