J'ai réussi à corrompre mon installation npm
, et chaque fois que j'essaie d'installer des packages à l'aide de npm install
, je reçois des messages d'erreur dans ce sens:
Rejet non géré Erreur: EACCES: autorisation refusée, ouvrez '/Users/marknorgate/.npm/_cacache/tmp/a449402d'
J'ai essayé de réinstaller le noeud & npm, et j'ai également essayé de déplacer mon cache npm ailleurs en utilisant ces instructions mais rien ne fonctionne.
Comment puis-je le faire fonctionner?
Restaurez la propriété des dossiers associés à npm de l'utilisateur, à l'utilisateur actuel, comme suit:
Sudo chown -R $USER:$GROUP ~/.npm
Sudo chown -R $USER:$GROUP ~/.config
Sudo chown -R $(whoami) ~/.npm
Sudo chown -R $(whoami) ~/.config
Cela se produit si vous utilisez NPM pour la première fois avec Sudo, par exemple lorsque vous essayez d'effectuer une installation -g de npm.
Les dossiers de cache doivent appartenir à l'utilisateur actuel et non à root.
Sudo chown -R $USER:$GROUP ~/.npm
Sudo chown -R $USER:$GROUP ~/.config
Cela donnera la propriété aux dossiers ci-dessus lors de l'exécution avec des autorisations utilisateur normales (pas comme Sudo).
Il est également intéressant de noter que vous ne devriez pas installer de packages globaux avec Sudo. Si vous rencontrez des problèmes avec des autorisations, cela vaut la peine de changer votre répertoire global. Les docs recommandent:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
Puis en mettant à jour votre PATH où vous le définissez (~/.profile etc.)
export PATH=~/.npm-global/bin:$PATH
Vous devrez ensuite vous assurer que la variable env. PATH est définie (redémarrage du terminal ou utilisation de la commande source).
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
La réponse ci-dessus n'a pas fonctionné pour moi. Essayez simplement de lancer votre commande avec --unsafe-perm
.
par exemple
npm install -g node@latest --unsafe-perm
Cela semble résoudre le problème.
Si aucune des réponses n’a fonctionné, essayez la commande suivante: npm cache clear --force
. Cela a fonctionné pour moi.
Je l'ai trouvé à https://github.com/vuejs/vue-cli/issues/1809 .
Sudo npm cache clean --force --unsafe-perm
et puis npm je vais normalement
il suffit de créer des dossiers _cache/tmp
sous .npm
manuellement à l'emplacement /Users/marknorgate/.npm/_cacache/tmp
et d'exécuter votre commande avec un accès administrateur.
Sudo npm install --unsafe-perm=true --allow-root
C'était celui qui a fonctionné pour moi
Faites simplement Sudo npm cache clean --force --unsafe-perm
et npm i
ira normalement.
vous pouvez essayer la commande suivante pour expo:
Sudo chown -R $USER:$GROUP ~/.expo
Cela a fonctionné pour moi!
Résolution des erreurs liées aux autorisations EACCES lors de l’installation globale de packages