即使目录可写,全局安装时也会出现NPM错误

时间:2013-02-09 09:11:37

标签: node.js npm

尝试使用此命令安装coffee-script时出现此错误:

npm install -g --verbose coffee-script opal

这些是错误消息:

npm ERR! Error: EACCES, symlink '../lib/node_modules/coffee-script/bin/coffee'
npm ERR!  { [Error: EACCES, symlink '../lib/node_modules/coffee-script/bin/coffee']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '../lib/node_modules/coffee-script/bin/coffee' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm info postuninstall opal@0.3.2
npm ERR! Error: EACCES, symlink '../lib/node_modules/opal/bin/opal-node'
npm ERR!  { [Error: EACCES, symlink '../lib/node_modules/opal/bin/opal-node']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '../lib/node_modules/opal/bin/opal-node' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

文件夹/ usr / local / bin和/ usr / local / lib / node_modules是当前用户拥有和可写的,我不想使用root运行那个npm命令,如何知道npm试过哪个文件夹制作符号链接?

我正在使用npm 1.2.9-1chl1~quantal1和nodejs 0.8.19-1chl1~quantal1

5 个答案:

答案 0 :(得分:19)

您的节点安装使用系统目录。使用-g

时使用sudo
sudo npm install -g --verbose coffee-script opal

答案 1 :(得分:15)

您可以chown NPM&{39} bin使用此一个班次来解决此问题:

$ chown -R `whoami` `npm -g bin`

答案 2 :(得分:3)

啊,使用这个命令:

npm -g bin

它会输出如下内容:

/usr/bin # this is the folder nodejs wanted to write..

然后您可以chmodchown,以便可以编写进行安装。

答案 3 :(得分:2)

我在NPM modules won't install globally without sudo遇到了类似的问题,问题是当我安装节点时,我通过chris / lea ppa repo 使用sudo。

我的解决方案是卸载节点,然后以这种方式安装:

从nodejs.org下载最新的稳定节点源#in我的案例node-v0.10.20.tar.gz

  

tar -zxf node-v0.10.20.tar.gz #uncompress sources

     

cd node-v0.10.20 #enter uncompressed folder

     

sudo chown $ USER -R / usr / local

     

./ configure --prefix = / usr / local&&制造&& make install

PD:如果您不想更改/ usr / local文件夹的所有权,则可以将其安装在您已拥有的位置。这种方法的问题是您必须使用bash命令行绑定安装文件夹,以便我们稍后可以使用node命令

  

mkdir~ / opt

     

./ configure --prefix =〜/ opt&&制造&& make install

     

echo'export PATH =〜/ opt / bin:$ {PATH}'>> 〜/ .bashrc #or~ / .profile或〜/ .bash_profile或〜/ .zshenv取决于当前的操作系统

使用其中任何一种方法,您都可以在不使用sudo的情况下执行以下操作

  

npm install -g --verbose coffee-script opal

答案 4 :(得分:0)

有类似的问题。结果我在project/node_modules目录中安装了sudo。在我的例子中,它是一些依赖项和ALSO .bin目录。我删除了这些错误的目录,然后再次运行npm install并成功了。我也重新安装了全球量角器和幻像,但不确定是否需要。我确信这是导致此问题的错误(即根拥有).bin目录。