Это происходит, если при первом запуске 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 установлена (перезапуск терминала или использование команды источника)
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally