THpubs
THpubs

Reputation: 8162

Can't run npm install without sudo. Setting permissions to .npm didn't work

Im running Ubuntu 14.04 and have installed nodejs from the ppa https://launchpad.net/~chris-lea/+archive/ubuntu/node.js. When ever I try to run npm install it gives an error like this : (running the command npm install -g generator-ember)

    npm ERR! Error: EACCES, unlink '/usr/lib/node_modules/generator-ember'
    npm ERR!  { [Error: EACCES, unlink '/usr/lib/node_modules/generator-ember']
    npm ERR!   errno: 3,
    npm ERR!   code: 'EACCES',
    npm ERR!   path: '/usr/lib/node_modules/generator-ember' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.

    npm ERR! System Linux 3.13.0-37-generic
    npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "-g" "generator-ember"
    npm ERR! cwd /home/pubudu/Projects/techpro-yeoman
    npm ERR! node -v v0.10.32
    npm ERR! npm -v 1.4.28
    npm ERR! path /usr/lib/node_modules/generator-ember
    npm ERR! code EACCES
    npm ERR! errno 3
    npm ERR! stack Error: EACCES, unlink '/usr/lib/node_modules/generator-ember'
    npm ERR! error rolling back Error: EACCES, unlink '/usr/lib/node_modules/generator-ember'
    npm ERR! error rolling back  { [Error: EACCES, unlink '/usr/lib/node_modules/generator-ember']
    npm ERR! error rolling back   errno: 3,
    npm ERR! error rolling back   code: 'EACCES',
    npm ERR! error rolling back   path: '/usr/lib/node_modules/generator-ember' }
    npm ERR! not ok code 0

I tried setting the permissions like this : sudo chown -R yourusername ~/.npm but it didn't work. How can I fix this? I can run npm with sudo but if I do, later im running into permission problems like when using grunt.

Upvotes: 1

Views: 309

Answers (1)

Craicerjack
Craicerjack

Reputation: 6332

I had manies an issue with this too.

Changing the ownership of ~/.npm isnt enough because you are also getting access issues in /usr/lib/node_modules/ folders. You can change permissions here too if you like but changing permissions on folders is not recommended. If you were to change permissions on these folders too only do it on the folder you need ie the node_modules folder. Or you could go a different, more preffered, route -

Originally I went in and changed permissions of folders and all of that jazz but when I upgraded my system I used NVM.
From the ember-cli page, the link below leads to a tutorial about how to use npm and nodejs without using sudo by using node version manager:
http://www.wenincode.com/installing-node-jsnpm-without-sudo/
Once you have installed nvm as the tutorial above or as the github page tells you then whenever you log into a new shell you just use the command:

nvm use 0.10 

where 0.10 is the version of nodejs you want to use.

Upvotes: 1

Related Questions