Це трапляється, якщо перший раз запускаєте NPM це з sudo, наприклад, при спробі зробити npm install -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