Ответ 1
Восстановите права собственности на пользователя, связанные с npm-папками, для текущего пользователя, например так:
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
Мне удалось повредить установку npm
, и всякий раз, когда я пытаюсь установить пакеты с помощью npm install
, я получаю сообщения об ошибках в следующем виде:
Ошибка необработанного отклонения: EACCES: разрешение отклонено, откройте "/Users/marknorgate/.npm/_cacache/tmp/a449402d"
Я попытался переустановить узел & npm, и я также попытался переместить мой кэш npm в другое место, используя эти инструкции, но ничего не работает.
Как я могу заставить это работать?
Восстановите права собственности на пользователя, связанные с npm-папками, для текущего пользователя, например так:
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) ~/.config
Это происходит, если вы в первый раз запускаете 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
sudo npm cache clean --force --unsafe-perm
а затем нпм я иду нормально
Выше ответ не работал для меня. Просто попробуйте запустить свою команду с помощью --unsafe-perm
.
например
npm install -g [email protected] --unsafe-perm
Это, похоже, решает проблему.
Если ни одно из предложений в ответах не сработало, попробуйте следующую команду: npm cache clear --force
. Это сработало для меня.
Я нашел это в https://github.com/vuejs/vue-cli/issues/1809.
просто создайте папки _cache/tmp
под .npm
вручную в местоположении /Users/marknorgate/.npm/_cacache/tmp
и запустите свою команду с доступом администратора
sudo npm install --unsafe-perm=true --allow-root
Это был тот, который работал для меня
Это сработало для меня!
Устранение ошибок разрешений EACCES при глобальной установке пакетов
Просто сделайте sudo npm cache clean --force --unsafe-perm
и npm i
пойдёт нормально.
Вы можете попробовать следующую команду для выставки:
sudo chown -R $USER:$GROUP ~/.expo
сменить владельца
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
работал как я установил пакет с помощью sudo