On npm install: Unhandled rejection Ошибка: EACCES: разрешение отклонено

Мне удалось повредить установку npm, и всякий раз, когда я пытаюсь установить пакеты с помощью npm install, я получаю сообщения об ошибках в следующем виде:

Ошибка необработанного отклонения: EACCES: разрешение отклонено, откройте "/Users/marknorgate/.npm/_cacache/tmp/a449402d"

Я попытался переустановить узел & npm, и я также попытался переместить мой кэш npm в другое место, используя эти инструкции, но ничего не работает.

Как я могу заставить это работать?

Ответы

Ответ 1

Восстановите права собственности на пользователя, связанные с npm-папками, для текущего пользователя, например так:

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

Ответ 2

sudo chown -R $(whoami) ~/.npm

sudo chown -R $(whoami) ~/.config

Ответ 3

Это происходит, если вы в первый раз запускаете NPM с помощью sudo, например, при попытке установить npm -g.

Папки кеша должны принадлежать текущему пользователю, а не root.

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

Это даст право владения вышеуказанными папками при работе с обычными правами пользователя (не как sudo).

Стоит также отметить, что вам не следует устанавливать глобальные пакеты с помощью SUDO. Если у вас возникнут проблемы с разрешениями, стоит сменить глобальный каталог. Документы рекомендуют:

mkdir ~/.npm-global

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

Затем обновите свой PATH там, где вы его определили (~/.profile и т.д.)

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

Затем вам нужно убедиться, что переменная PATH env установлена (перезапуск терминала или использование команды source)

https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

Ответ 4

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

а затем нпм я иду нормально

Ответ 5

Выше ответ не работал для меня. Просто попробуйте запустить свою команду с помощью --unsafe-perm.

например

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

Это, похоже, решает проблему.

Ответ 6

Если ни одно из предложений в ответах не сработало, попробуйте следующую команду: npm cache clear --force. Это сработало для меня.

Я нашел это в https://github.com/vuejs/vue-cli/issues/1809.

Ответ 7

просто создайте папки _cache/tmp под .npm вручную в местоположении /Users/marknorgate/.npm/_cacache/tmp и запустите свою команду с доступом администратора

Ответ 8

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

Это был тот, который работал для меня

Ответ 10

Просто сделайте sudo npm cache clean --force --unsafe-perm и npm i пойдёт нормально.

Ответ 11

Вы можете попробовать следующую команду для выставки:

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

Ответ 12

сменить владельца

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

работал как я установил пакет с помощью sudo