When dealing with NPM Permissions, often times it can be tempting to resort to installing modules as root (
sudo), especially when under tight time constraints; where troubleshooting such issues will only serve to delay your progress.
Admittedly, I have been guilty of this more often than I care to admit. That said, being as I always have the Broken Windows Theory in the back of my mind, I knew this workaround needed to be resolved as soon as I had a moment to dig into it a bit more.
Previously, I had followed the instructions from docs.npmjs; however, they focus more on installations of global dependencies, rather than local dependencies. Fortunately, after a few quick searches, it became apparent that by simply changing permissions to the ~/.npm directory, this issue could easily be resolved as, all that is needed is to change the owner of the ~/.npm directory to the current user (as opposed to root).
To do so, simply run the following:
sudo chown -R $(whoami) ~/.npm
Likewise, you can use your username explicitly; e.g.:
sudo chown -R efeminella ~/.npm
And with that, the issue can safely be resolved, allowing you to run
npm install as expected without having to fallback to using