使用npm安装yeoman的权限 - eaccess?

时间:2015-02-26 02:39:32

标签: node.js npm yeoman

我用自制软件安装了npm并且必须链接它 - 我认为这可能是问题的一部分。这对我来说都是新的,所以我正在寻求任何帮助。我正在尝试使用

在计算机上安装yeoman和其他一些东西
npm install -g yo

然而它正在吐出错误 -

   npm ERR! Darwin 14.0.0
 npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "yo"
 npm ERR! node v0.12.0
 npm ERR! npm  v2.5.1
 npm ERR! path /Users/Lynda/npm-global/lib/node_modules/yo/lib
 npm ERR! code EACCES
 npm ERR! errno -13 

npm ERR! Error: EACCES, unlink '/Users/Lynda/npm-global/lib/node_modules/yo/lib'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES, unlink '/Users/Lynda/npm-global/lib/node_modules/yo/lib']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/Lynda/npm-global/lib/node_modules/yo/lib' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.
npm ERR! error rolling back Error: EACCES, unlink '/Users/Lynda/npm-global/lib/node_modules/yo/lib'
npm ERR! error rolling back     at Error (native)
npm ERR! error rolling back  { [Error: EACCES, unlink '/Users/Lynda/npm-global/lib/node_modules/yo/lib']
npm ERR! error rolling back   errno: -13,
npm ERR! error rolling back   code: 'EACCES',
npm ERR! error rolling back   path: '/Users/Lynda/npm-global/lib/node_modules/yo/lib' }

我做了一堆谷歌搜索,无法找到任何东西,可以使用一些帮助!如果可以的话,我想避免sudo&。感谢。

5 个答案:

答案 0 :(得分:2)

你可以拥有npm尝试安装的目录,我也不喜欢sudo。事实上,NPM states that you shouldn't sudo as well

尝试:

sudo chown -R `whoami` /Users/Lynda/npm-global/lib/node_modules

请记住,这会将其绑定到您当前的用户,whoami是一个bash变量来获取您的用户名。

答案 1 :(得分:2)

我首选的安装节点和方式的方法在OSX上的npm:

在没有npm的情况下通过homebrew安装节点:

brew update
brew install node --without-npm
echo prefix=~/.node >> ~/.npmrc

然后通过npmjs.org上的安装脚本安装npm

如果你狂野而疯狂:

curl -L https://www.npmjs.org/install.sh | sh

否则,请下载https://www.npmjs.org/install.sh,检查您的满意度,chmod + x并执行它。

然后将$HOME/.node/bin添加到您的路径中。

注意:如果您通过图形安装程序或自制程序预先安装了node + npm,则在重新安装之前,您将要删除以前的安装。例如,如果您通过图形安装程序安装:

rm -rf /usr/local/lib/node_modules
rm -rf /usr/local/include/node
rm -rf ~/.npm
mv ~/.npmrc ~/.npmrc-old

答案 2 :(得分:1)

如果您想避免sudo'ing,我建议您使用nvm等节点的版本管理器。这允许安装没有sudo的全局包,也可以并行运行不同版本的节点和/或io.js。

答案 3 :(得分:0)

如果你看到这个:

npm ERR!请尝试以root / Administrator方式再次运行此命令。

然后sudo可能就是你需要使用的。试试sudo npm install -g yo

答案 4 :(得分:0)

这一行

npm ERR! Please try running this command again as root/Administrator

表示,您需要拥有管理员凭据才能安装yeoman。因此,您可以尝试使用sudo npm install -g yo