11

I get this error if I run

curl http://npmjs.org/install.sh | sh

even with sudo.

    cirk@cirk-Parallels-Virtual-Platform:~$ curl http://npmjs.org/install.sh | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3902  100  3902    0     0   6138      0 --:--:-- --:--:-- --:--:-- 12546
fetching: http://registry.npmjs.org/npm/-/npm-1.0.18.tgz
0.4.9
1.0.18
Skipping 0.x cruft clean
! [ -d .git ] || git submodule update --init --recursive
node cli.js cache clean
node cli.js rm npm -g -f --loglevel error
node cli.js install -g -f
npm ERR! error installing [email protected] Error: EACCES, Permission denied '../lib/node_modules/npm/bin/npm.js'
npm ERR! Error: EACCES, Permission denied '../lib/node_modules/npm/bin/npm.js'
npm ERR! 
npm ERR! Please use 'sudo' or log in as root to run this command.
npm ERR! 
npm ERR!     sudo npm "install" "-g" "-f"
npm ERR! 
npm ERR! or set the 'unsafe-perm' config var to true.
npm ERR! 
npm ERR!     npm config set unsafe-perm true
npm ERR! 
npm ERR! System Linux 2.6.38-10-generic
npm ERR! command "node" "/tmp/npm.1568/package/cli.js" "install" "-g" "-f"
npm ERR! cwd /tmp/npm.1568/package
npm ERR! node -v v0.4.9
npm ERR! npm -v 1.0.18
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /tmp/npm.1568/package/npm-debug.log
npm not ok
It worked

What should I do? I tried these with no success:

chown -R cirk /usr/lib/nodejs
// and also this
chown -R cirk /usr/lib/node_modules (node_modules is empty it tries to install NPM here or what)

actually it did something, as you can see it writes at the end It worked what is a big lie!

11
  • 1
    Been getting the same thing myself recently... Commented Jul 19, 2011 at 19:23
  • cool :) I´m getting tired here, I tried to fix it all the day, maybe some smart guys can help here :( Commented Jul 19, 2011 at 19:25
  • Did you try following the instructions in the error message (setting the unsafe-perm config var to true)? Commented Jul 19, 2011 at 19:26
  • 1
    Follow-up question: Is it Safe to chown on /usr/lib? Judging by this transcript, the installation script looks quite broken, both because it's apparently trying to write to /usr/lib (which is reserved for package managers, manual installations should go under /usr/local) and because it doesn't have proper error detection (the “It worked” bit). Commented Jul 19, 2011 at 20:56
  • 1
    It IS quite broken. The whole notion of running a shell script as root that you pull right off some site with curl is broken. Commented Jul 20, 2011 at 3:35

2 Answers 2

18

Why are you running that in /usr?

If you really need to, this page suggests you may run that as root, so that would be:

curl https://www.npmjs.com/install.sh | sudo sh

But you better make sure it won't break your system, before running that.

Sign up to request clarification or add additional context in comments.

3 Comments

maaan this worked, looool, ftw? I always put the sudo before the curl :)) I didń´t even noticed that sh is a command too, :D maan I´m very happy because I always had this issue when I installed NPM, and now I know why I failed.
@alex: the (recommended) default install of NPM puts stuff in /usr/lib.
I believe latest npm does not mind if you run as root => pastebin.com/BX9NVqF4
2

I screwed up the permissions on my npm installation, and had this error when reinstalling. I solved it in the crudest way: by liberally sudo rm -rfing any directory tree that gave me trouble, then recompiling node.js and reinstalling npm.

If all else fails, you could fall back to that.

1 Comment

I used sudo rm -rf ~/.npm and then was able to install.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.