permission - uninstall npm




Su npm install: rifiuto non gestito Errore: EACCES: autorizzazione negata (8)

Sono riuscito a corrompere la mia installazione di npm e ogni volta che provo a installare i pacchetti utilizzando npm install , ricevo messaggi di errore in questo modo:

Errore di rifiuto non gestito: EACCES: autorizzazione negata, aprire '/Users/marknorgate/.npm/_cacache/tmp/a449402d'

Ho provato a reinstallare node & npm e ho anche provato a spostare la mia cache npm altrove usando queste istruzioni ma nulla funziona.

Come posso farlo funzionare?


Basta fare sudo npm cache clean --force --unsafe-perm e npm i andrò normalmente.


La risposta sopra non ha funzionato per me. Prova ad eseguire il comando con --unsafe-perm .

per esempio

npm install -g [email protected] --unsafe-perm

Questo sembra risolvere il problema.


Questo succede se la prima volta che esegui NPM è con sudo, ad esempio quando provi a fare un'installazione npm -g.

Le cartelle della cache devono essere di proprietà dell'utente corrente, non di root.

sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config

Questo darà la proprietà alle cartelle sopra quando viene eseguito con normali autorizzazioni utente (non come sudo).

Vale anche la pena notare che non dovresti installare pacchetti globali usando SUDO. Se riscontri problemi con le autorizzazioni, vale la pena cambiare la tua directory globale. I documenti raccomandano:

mkdir ~/.npm-global

npm config set prefix '~/.npm-global'

Quindi aggiorna il tuo PERCORSO ovunque tu lo definisca (~ / .profile ecc.)

export PATH=~/.npm-global/bin:$PATH

Dovrai quindi assicurarti che la variabile ENV PATH sia impostata (riavviando il terminale o usando il comando source)

docs.npmjs.com/…


Ripristina la proprietà delle cartelle correlate npm dell'utente, all'utente corrente, in questo modo:

sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config

basta creare le cartelle _cache/tmp in .npm manualmente nella posizione /Users/marknorgate/.npm/_cacache/tmp ed eseguire il comando con accesso amministratore


puoi provare il seguente comando per expo:

sudo chown -R $USER:$GROUP ~/.expo

sudo npm cache clean --force --unsafe-perm

e poi npm vado normalmente


sudo npm install --unsafe-perm=true --allow-root

Questo è stato quello che ha funzionato per me







permissions