Error: EACCES: permission denied, access '/usr/lib/node_modules'

I have same issue with webpack server installation on globally, Use steps Solved my issue, my be work for you.

Steps mention above There: Back-up your computer before you start.

Make a directory for global installations:

1. mkdir ~/.npm-global

Configure npm to use the new directory path:

2. npm config set prefix '~/.npm-global'

Open or create a ~/.profile file and add this line:

3. export PATH=~/.npm-global/bin:$PATH

Back on the command line, update your system variables:

4. source ~/.profile

Test: Download a package globally without using sudo.

npm install -g jshint

Instead of steps 2-4, you can use the corresponding ENV variable (e.g. if you don't want to modify ~/.profile):

NPM_CONFIG_PREFIX=~/.npm-global


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


Not very sure if this could be the right solution to this problem, but I hope this could help others with similar situation that already tried the following:

  • Applied the recommendation on the npm website
  • Checked for the right permissions for the node_modules folder and found nothing wrong
  • Used sudo npm install <package> (solution which I do not recommend anyway) with or without -g and had no expected result

The solution to this problem pointed out when I noticed that while I was trying to install the axios package with npm, the directory containing the entire project was opened in Visual Studio Code. So I closed it and retried installation again. Surprise, the installation worked like a charm.

For trying to replicate same problem I was using Ubuntu 18.04 LTS on WSL (maybe this has something to do with Windows permissions)

This could be the solution for this question also: Error: EACCES: permission denied, access '/usr/local/lib/node_modules' react


When installing global packages in ubuntu, you need special write permissions as you are writing to the usr/bin folder. It is for security reasons.

So, everytime you install a global package, use:

sudo npm install -g [package-name]

for your specific case:

sudo npm install -g typescript

When you try it without -g all that you are doing is installing the package locally in whatever folder you are in:

so: npm install typescript will create a node_modules folder in the folder you are in.

Tags:

Shell

Npm