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.