Udało mi się uszkodzić moją npm
instalację i za każdym razem, gdy próbuję zainstalować pakiety przy użyciu npm install
, otrzymuję komunikaty o błędach w następujący sposób:
Nieobsługiwane odrzucenie Błąd: EACCES: odmowa dostępu, otwórz „/Users/marknorgate/.npm/_cacache/tmp/a449402d”
Próbowałem ponownie zainstalować węzeł i npm, a także próbowałem przenieść pamięć podręczną npm gdzie indziej, korzystając z tych instrukcji, ale nic nie działa.
Jak mogę to uruchomić?
npm
permissions
serlingpa
źródło
źródło
root
własnością. To naprawiło wszystko. Dziękuję Ci!sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) ~/.config
źródło
Dzieje się tak, jeśli po raz pierwszy uruchamiasz NPM z sudo, na przykład podczas próby instalacji npm -g.
Foldery pamięci podręcznej muszą być własnością bieżącego użytkownika, a nie root.
Daje to prawo własności do powyższych folderów, gdy działają z normalnymi uprawnieniami użytkownika (nie jak sudo).
Warto również zauważyć, że nie powinieneś instalować globalnych pakietów za pomocą SUDO. Jeśli napotkasz problemy z uprawnieniami, warto zmienić katalog globalny. Dokumenty zalecają:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
Następnie aktualizuj ŚCIEŻKĘ w dowolnym miejscu (~ / .profile itp.)
export PATH=~/.npm-global/bin:$PATH
Następnie musisz się upewnić, że zmienna PATH env jest ustawiona (restart terminalu lub użycie polecenia source)
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
źródło
a potem npm i idzie normalnie
źródło
Powyższa odpowiedź nie działała dla mnie. Po prostu spróbuj uruchomić polecenie
--unsafe-perm
.na przykład
To wydaje się rozwiązać problem.
źródło
Jeśli żadna z sugestii w odpowiedziach nie zadziałała, wypróbuj następujące polecenie:
npm cache clear --force
. To zadziałało dla mnie.Znalazłem go na https://github.com/vuejs/vue-cli/issues/1809 .
źródło
wystarczy utworzyć foldery
_cache/tmp
w ramach.npm
ręcznie na miejscu/Users/marknorgate/.npm/_cacache/tmp
i uruchomić polecenie z uprawnieniami administratoraźródło
Ten działał dla mnie
źródło
To zadziałało dla mnie!
Rozwiązywanie błędów uprawnień EACCES podczas globalnej instalacji pakietów
źródło
Po prostu zrób
sudo npm cache clean --force --unsafe-perm
inpm i
pójdzie normalnie.źródło
zmienić własność
działał jak zainstalowałem pakiet przy użyciu sudo
źródło
Spróbuj użyć tego: W wierszu komend w katalogu domowym utwórz katalog dla instalacji globalnych:
Skonfiguruj npm, aby używał nowej ścieżki do katalogu:
W preferowanym edytorze tekstu otwórz lub utwórz plik ~ / .profile i dodaj ten wiersz:
W wierszu polecenia zaktualizuj zmienne systemowe:
Teraz użyj npm install powinien działać.
źródło
możesz wypróbować następujące polecenie dla expo:
źródło
według społeczności npm
a następnie instalacja npm przebiega normalnie.
źródło: npm społeczność-nieobsługiwane-odrzucenie-błąd-eacces-uprawnienie-odmowa
źródło
Po prostu uruchom na terminalu:
sudo chown -R $(whoami) ~/.npm
To zadziałało dla mnie !!
źródło
Ten działa dla mnie:
Nie korzystałem z,
-g
ponieważ jestem jedynym użytkownikiem. Użyłem MacBooka Air.źródło