npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules' code example
Example 1: npm EACCES: permission denied, access '/usr/local/lib'
sudo chown -R $(whoami) ~/.npm
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
Example 2: Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
sudo npm install -g nodemon
Example 3: npm ERR! Error: EACCES: permission denied, symlink '../lib/node_modules/@angular/cli/bin/ng' -> '/usr/bin/ng'
sudo npm install -g @angular/cli
sudo chown -R $USER /usr/local/lib/node_modules
Example 4: Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/typescript'
sudo chown -R $USER /usr/local/lib/node_modules
Example 5: npm ERR! path /usr/local/lib/nodejs/node-v10.15.3-linux-x64/lib/node_modules while installing angular cli
It's not recommended to use sudo with npm install, follow the steps from npmjs official docs instead :)
Make a directory for global installations:
mkdir ~/.npm-global
Configure npm to use the new directory path:
npm config set prefix '~/.npm-global'
Open or create a ~/.profile file and add this line:
export PATH=~/.npm-global/bin:$PATH
Back on the command line, update your system variables:
source ~/.profile
Test: Download a package globally without using sudo.
npm install -g typescript
Source: https://docs.npmjs.com/getting-started/fixing-npm-permissions