11

如果我运行,我会收到此错误

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

即使使用 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 npm@1.0.18 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

我该怎么办?我尝试了这些但没有成功:

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)

实际上它做了一些事情,正如你所看到的,它在最后写了It worked什么是一个大谎言!

4

2 回答 2

18

你为什么要运行它/usr

如果你真的需要,这个页面建议你可以以 root 身份运行它,所以这将是:

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

但是你最好在运行它之前确保它不会破坏你的系统。

于 2011-07-19T20:03:51.887 回答
2

我搞砸了我的 npm 安装的权限,并在重新安装时出现此错误。我用最粗暴的方式解决了这个问题:通过随意sudo rm -rfing 任何给我带来麻烦的目录树,然后重新编译 node.js 并重新安装 npm。

如果所有其他方法都失败了,你可以回到那个状态。

于 2011-07-19T19:27:54.227 回答