npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules

57.9k Views Asked by At

Note: Due to security concerns, please don't use the marked solution but instead the highest voted one!


original question:

I am trying to install monaca with this command.

npm install -g monaca

But right after getting these errors:

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules 
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  { Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!   stack: 'Error: EACCES: permission denied, access \'/usr/local/lib/node_modules\'',
npm ERR!   errno: -13, npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }

Any idea how to solve this problem? Thank you

7

There are 7 best solutions below

4
firefly On BEST ANSWER

An inadvisable way to fix the issue would be to use sudo:

sudo npm install -g monaca

However it would be better to find a way around this without using sudo.

npm install -g less does not work

3
Shivam ashtikar On

add following lines to ~/.bashrc after installing npm:

npm set prefix ~/.npm
PATH="$HOME/.npm/bin:$PATH"
PATH="./node_modules/.bin:$PATH"

Execute following line after changes:

source ~/.bashrc

and as mentioned by @contemplator avoid using sudo

0
Ebrahim On

Well, I used --save-dev and installed it not globally or using -g, the main problem occurs while you want it to write on default node_modules folder.

It solved my problem after 4 hours of checking multiple issues.

I even suggest you to use the npm init and make a package.json for a better dependency checking and then run npm install afterward. this video helps you for this https://www.youtube.com/watch?v=rTsz09zRuTU

0
Joel On

it is very simple you can use

sudo npm install -g kazam

or

su -

then

npm install -g kazam

explenation

su -

makes you as root ,who have permission to read , write and delete in all users click here for the screen shot showing the error and the solution in the update of npm

this is for ubuntu i don't know is it work for other os
1
barmalej On

This command will change the owner (chown) recursively (-R) for the current user in the specified directory

sudo chown -R $USER /usr/local/lib/node_modules
0
Julian On

Please dont use sudo.

I don't know the context of your environment, but I got the error on a server where Plesk was running.

Maybe the following command will help (via SSH) to check the permissions:

plesk repair fs example.com.

Manual: https://docs.plesk.com/en-US/12.5/administrator-guide/plesk-administration/plesk-repair-utility/plesk-repair-utility-file-system.74668/

In my case the node_modules folder was copied via FTP and therefore it had the wrong corrections. If necessary, you can remove this and install it via Plesk using the Npm installation button.

Info: The button only appears if the document contains a package.json with information.

2
kissu On

To all the warnings telling not to use sudo above, I'd add the following solution that worked pretty well for me while installing n, node version manager

sudo chown -R $USER /usr/local/lib/node_modules

This was taken from here: https://poopcode.com/missing-write-access-to-usr-local-lib-node-modules/

PS: for my specific use-case I also needed to run this one afterwards

sudo chown -R $USER /usr/local/bin/