Error installing yeoman

匿名 (未验证) 提交于 2019-12-03 01:12:01

问题:

Installing Yeoman on my OSX machine results in the following error:

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 

I believe the problem is that bash is looking for npm within the Ruby Version Manager, which is where I installed node and npm originally. However, I removed both from RVM and installed from the Node website. I also adjusted my .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$ 

I don't understand why the Yeoman installation is failing.

回答1:

This solved the issue for me. Setting the permission on the npm folder in your home directory was the fix for me.

sudo chown -R `whoami` ~/.npm 


回答2:

The npm command fails because you need to be root to edit files under /usr/.

You should properly configure npm, see this relevant SO answer:

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


回答3:

try

sudo chown -R $USER /usr/local

and this kind of problem would be solved forever

it's not encouraged to npm with sudo



回答4:

For me on Ubuntu only the following worked for me...

Ubuntu

Tested on Ubuntu 14.04.2

This was a base install of Ubuntu 14.04.2 on VirtualBox using ubuntu-trusty-64.

I had just installed node and npm fresh and they were working well.

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 

yes I had to install yeoman, fix the path issues, then reinstall yeoman. based on some answers on this stack overflow post



回答5:

This worked well for me:

sudo npm install -g yo 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!