Esto sucede si la primera vez que ejecuta NPM es con sudo, por ejemplo, cuando intenta hacer una instalación npm -g.
Las carpetas de caché deben ser propiedad del usuario actual, no root.
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
Esto otorgará la propiedad de las carpetas anteriores cuando se ejecute con permisos de usuario normales (no como sudo).
También vale la pena señalar que no debería instalar paquetes globales con SUDO. Si tiene problemas con los permisos, vale la pena cambiar su directorio global. Los documentos recomiendan:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
Luego, actualice su RUTA en cualquier lugar que defina eso (~ / .profile, etc.)
export PATH=~/.npm-global/bin:$PATH
Luego deberá asegurarse de que la variable PATH env esté configurada (reiniciando la terminal o usando el comando fuente)
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally