Reputation:
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
Upvotes: 49
Views: 58882
Reputation: 46761
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/
Upvotes: 3
Reputation: 767
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
.
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.
Upvotes: 0
Reputation: 31
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
Upvotes: -5
Reputation: 51
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
Upvotes: 5
Reputation: 906
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
Upvotes: -19
Reputation: 1818
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
Upvotes: 0
Reputation: 1188
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
Upvotes: 106