安装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安装失败。

这为我解决了这个问题。 在主目录下的npm文件夹设置权限是我的修复。

 sudo chown -R `whoami` ~/.npm 

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

你应该正确地configurationnpm ,看到这个相关的SO回答 :

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

尝试

sudo chown -R $USER /usr/local

而这样的问题将永远解决

不要鼓励npm与sudo

对于我在Ubuntu上,只有以下工作对我来说…

Ubuntu的

在Ubuntu 14.04.2上testing

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

我刚刚安装了节点和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 

是的,我不得不安装yeoman,修复path问题,然后重新安装yeoman。 基于这个堆栈溢出后的一些答案

这对我很好:

 sudo npm install -g yo