Digamos que você queira instalar para sempre em todo o mundo:
sudo npm install -g forever
O problema aqui é que, se você não tiver um ~ / .npm (pasta de cache do npm) e fizer sudo, a pasta de cache obterá permissões de root: root. Portanto, a próxima instalação não sudo irá falhar com:
npm ERR! Error: EACCES
Isso acontece porque por padrão (pelo menos no Linux), sudo não configura $ HOME (ou seja, personifica) para o usuário alvo (que é root por padrão).
Para “consertar” isso, você deve usar a opção -H .
sudo -H npm install -g forever
ps: A maioria das pessoas nunca perceberá esse problema porque se ~ / .npm já existir, o npm não substituirá sua permissão.
ps2: se você deve usar para sempre no sudo, use-o com -H sudo -H forever list