安装自耕农时出错

时间:2013-12-02 14:09:39

标签: node.js bash yeoman

在我的OSX计算机上安装Yeoman会导致以下错误:

paulh16$ npm install -g yo
npm http GET https://registry.npmjs.org/yo
npm http 304 https://registry.npmjs.org/yo
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/yo'
npm ERR!  { [Error: EACCES, mkdir '/usr/local/lib/node_modules/yo']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/yo',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/yo',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23',
npm ERR!      '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53',
npm ERR!      'Object.oncomplete (fs.js:107:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 13.0.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "yo"
npm ERR! cwd /Users/paulh16/.rvm/lib
npm ERR! node -v v0.10.22
npm ERR! npm -v 1.3.14
npm ERR! path /usr/local/lib/node_modules/yo
npm ERR! fstream_path /usr/local/lib/node_modules/yo
npm ERR! fstream_type Directory
npm ERR! fstream_class DirWriter
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/yo'
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/paulh16/.rvm/lib/npm-debug.log
npm ERR! not ok code 0

我认为问题是bash在Ruby Version Manager中寻找npm,这是我最初安装node和npm的地方。但是,我从RVM中删除了这两个并从Node网站安装。我还调整了我的.bash_profile:

PS1="\u$ "
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"

if [ -f ~/.git-completion.bash ]; then
   source ~/.git-completion.bash
fi

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM$

我不明白为什么Yeoman安装失败了。

5 个答案:

答案 0 :(得分:32)

这解决了我的问题。在主目录中设置npm文件夹的权限对我来说是修复。

sudo chown -R `whoami` ~/.npm

答案 1 :(得分:23)

npm命令失败,因为您需要root才能编辑/usr/下的文件。

您应该正确配置npm,请参阅this relevant SO answer

$ echo prefix = ~/.node >> ~/.npmrc

答案 2 :(得分:14)

尝试

sudo chown -R $USER /usr/local

这种问题将永远解决

不鼓励npm与sudo

答案 3 :(得分:0)

对于我在Ubuntu上,只有以下内容对我有用...

Ubuntu的

在Ubuntu 14.04.2上测试

这是使用ubuntu-trusty-64在VirtualBox上基础安装Ubuntu 14.04.2。

我刚安装了node和npm,它们运行良好。

npm install -y -g yo
echo export PATH="$HOME/npm/bin:$PATH" >> ~/.bashrc
npm config set prefix ~/npm
echo "export NODE_PATH=$NODE_PATH:/home/$USER/npm/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
npm install -y -g yo

是的,我必须安装自耕农,修复路径问题,然后重新安装自耕农。 基于此stack overflow post

的一些答案

答案 4 :(得分:-4)

这对我很有用:

sudo npm install -g yo