Using ‘sudo’ with NPM is a no-no, as it can cause all kinds of havoc with file permissions. You can specify a default directory for globally installed packages and thus absolve yourself of sudo chaos.
Create a directory for global packages with Terminal.app:
mkdir "${HOME}/.npm-packages"
Tell npm where to store globally installed packages:
npm config set prefix “${HOME}/.npm-packages”
3. Add the following to .bash_profile in your home directory:
NPM_PACKAGES="${HOME}/.npm-packages" export PATH="$PATH:$NPM_PACKAGES/bin" # Preserve MANPATH if you already defined it somewhere in your config # Otherwise, fall back to `manpath` so we can inherit from `/etc/manpath export MANPATH="${MANPATH-$(manpath)}:$NPM_PACKAGES/share/man"