13

尝试使用此命令安装咖啡脚本时出现此错误:

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

4

5 回答 5

20

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

sudo npm install -g --verbose coffee-script opal
于 2013-02-09T10:44:07.530 回答
15

您可以使用此方法对您的用户名进行chownNPMbin以解决此问题:

$ chown -R `whoami` `npm -g bin`
于 2014-07-08T23:34:26.943 回答
4

啊,使用这个命令:

npm -g bin

它会输出如下内容:

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

然后你可以chmod或者chown它,所以它可以被写来安装。

于 2013-02-09T09:15:35.737 回答
2

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

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

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

tar -zxf node-v0.10.20.tar.gz #解压缩源

cd node-v0.10.20 #进入解压文件夹

sudo chown $USER -R /usr/local

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

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

mkdir ~/opt

./configure --prefix=~/opt && make && make install

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

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

npm install -g --verbose 咖啡脚本蛋白石

于 2013-10-14T06:17:20.620 回答
0

有类似的问题。原来我在project/node_modulessudo. 就我而言,它是一些依赖项 AND ALSO.bin目录。我删除了这些坏目录,然后npm install再次运行,它成功了。我确实也重新安装了全局量角器和 phantomjs,但不确定是否需要。我确信这是.bin导致此问题的错误(即根拥有的)目录。

于 2014-02-11T10:08:25.223 回答