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
//easiest fix

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