Исправление Ruby в OS X Yosemite

Я получаю следующую ошибку:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/yaml.rb:4:in `<top (required)>':                                                                           
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- psych (LoadError)
  from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/yaml.rb:5:in `<top (required)>'
  from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  from /usr/local/bin/hub:190:in `<main>'

Я пробовал предложения по переполнению стека, которые связаны с libyaml и psych. Однако для многих из них требуются команды rvm, которые возвращают следующую ошибку:

rvm reinstall 2.0
/Users/richardburton/.rvm/src/ruby-2.0.0-p247 has already been removed.
Removing /Users/richardburton/.rvm/rubies/ruby-2.0.0-p247 - please wait
Error running '__rvm_rm_rf /Users/richardburton/.rvm/rubies/ruby-2.0.0-p247',
please read /Users/richardburton/.rvm/log/1401921952_ruby-2.0.0-p247/remove.rubies.log
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.10/x86_64/ruby-2.0.0-p247.

Очевидно, что на данном этапе доступны бинарные файлы rvm. Любые советы или предложения о том, как я могу запустить Ruby 2.0, будут очень признательны.

Спасибо!


person Richard Burton    schedule 04.06.2014    source источник
comment
Это сработало для меня: чтобы заставить ruby ​​homebrew rvm работать на yosemite"> stackoverflow.com/questions/24225959/   -  person eden    schedule 15.06.2014


Ответы (3)


Первая ошибка, которую вы получаете, ссылается на рубин вашей системы, и вы переустанавливаете ее с помощью rvm. Попробуйте запустить which ruby. Скорее всего, это можно исправить, обновив путь. Я бы не рекомендовал переустанавливать системный рубин, поэтому я бы определенно рекомендовал, чтобы все, что вызывало первую ошибку, работало с rvm.

Если это все еще не работает, я бы попробовал использовать rbenv вместо rvm. Я лично фанат rbenv, и у меня не было проблем с его использованием на Ruby. Его очень легко настроить и запустить, и это может быть хорошим временным решением.

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile # or whichever profile you are using
$ source ~/.bash_profile                           # or whichever profile you are using
$ rbenv install <version number>
$ rbenv global <version number>

Ссылки на информацию о rbenv:

rbenv: https://github.com/sstephenson/rbenv

ruby-build: https://github.com/sstephenson/ruby-build#readme

person cadlac    schedule 05.06.2014

rvm package install libyaml
rvm reinstall 1.9.3 --with-libyaml-dir=/home/rails/.rvm/usr

У меня была такая же ошибка, и это сработало для меня

Источник: https://serverfault.com/questions/442150/how-to-fix-ruby-installation-is-missing-psych-for-yaml-output-on-centos

person noshaf    schedule 20.12.2014

Я столкнулся с той же проблемой, и я пробовал два решения:

1) Использование ruby-build для сборки ruby-2.0-p451 с префиксом /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr --> НЕ РАБОТАЕТ (ПОЛУЧИЛ ОШИБКУ СЕГМЕНТАЦИИ)

2) Замените на стандартную версию, поставляемую с OSX 10.9 ---> РАБОТАЕТ!!

Пожалуйста, посмотрите мой фрагмент о том, как это сделать здесь: https://gist.github.com/joneslee85/73ece54ba5b3a17e8bb2< /а>

Теперь я могу идти спать. Удачи!

person Trung Lê    schedule 05.06.2014
comment
Не могли бы вы загрузить заархивированную папку старого фреймворка Ruby? - person Richard Burton; 12.06.2014