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

permissions installing yeoman with npm - eaccess?

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

在计算机上安装 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。谢谢

如果你看到这个:

npm 错误!请再次尝试 运行 此命令作为 root/Administrator。

那么 sudo 可能正是您需要使用的。尝试 sudo npm install -g yo

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

尝试:

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

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

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

作为这一行

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

声明,您需要拥有管理员凭据才能安装 yeoman。所以你可以试试 sudo npm install -g yo

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

通过 homebrew 安装节点而不使用 npm:

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