On your dev machine

If you are the typical js developer who works on OS X, all you need to do is just change the owner of the node binaries

# this should solve the problem
sudo chown -R MY_USER_NAME /usr/local

# this may also help
sudo chmod -R 777 ~/.npm

If you are working on projects and someone has already checked in a package.json run with sudo, you need to make sure the whole team changes the permissions of at the same time

# if someone has checked in a version
# of package.json with the wrong permissions
chmod -775 package.json

Unix purists will find this hacky; and rightly so. The proper way of doing is to create a group for everyone who should be allowed to run npm, even if it’s just you. However for a simple dev machine that is good enough.