Ошибка при установке yeoman
Установка Yeoman на моем компьютере с OSX приводит к следующей ошибке:
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 ищет npm в Ruby Version Manager, где я изначально установил узел и 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 ответов
Это решило проблему для меня. Установка разрешения для папки npm в вашем домашнем каталоге была для меня исправлением.
sudo chown -R `whoami` ~/.npm
npm
Сбой команды, потому что вам нужно быть пользователем root для редактирования файлов /usr/
,
Вы должны правильно настроить npm
, посмотрите этот соответствующий ответ SO:
$ echo prefix = ~/.node >> ~/.npmrc
Пытаться
sudo chown -R $USER /usr/local
и такая проблема будет решена навсегда
это не рекомендуется нпм с sudo
У меня на Ubuntu работало только следующее...
Ubuntu
Проверено на Ubuntu 14.04.2
Это была базовая установка Ubuntu 14.04.2 в VirtualBox с использованием ubuntu-trusty-64.
Я только что установил node и npm fresh, и они работали хорошо.
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, исправить проблемы с путями, а затем переустановить Yeoman. основанный на некоторых ответах на этом посте переполнения стека