Обновлен до Yosemite и теперь рубиновые библиотеки ломаются

Я обновился до Yosemite, и теперь, когда я пытаюсь настроить начальное приложение rails, используя rails new <appname> Я получаю сообщение об ошибке:

/Users/****/.rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require ': dlopen (/ Users / * **** /. rubies / ruby-2.0.0-p451 / lib / ruby ​​/2.0.0/x86_64-darwin13.3.0/openssl.bundle, 9): символ не найден: _SSLv2_client_method (LoadError)

Я использую homebrew и chruby, а не RVM, и моя оболочка - Oh-my-Zsh.

1 ответ

Решение

Я подозреваю, что вы скомпилировали Ruby на старой версии Mac OS X, и это зависело от _SSLv2_client_method функция из OpenSSL. Эта функция очень старая (SSL v2 - старый протокол), поэтому она, вероятно, была удалена из OpenSSL, и при обновлении операционной системы, вероятно, появилась новая версия OpenSSL без этой функции.

В любом случае, вы должны просто попытаться удалить весь ~/.rubies папку (или переместить ее на новое место) и, начиная с нуля, перекомпилировать Ruby в соответствии с chruby Wiki.

Вот связанный вопрос, который я нашел, просто найдя Google для "_SSLv2_client_method ruby ​​mac": не найден символ пакета Ruby: _SSLv2_client_method (LoadError)

Другие вопросы по тегам