Символ рубиновой пакет не найден: метод клиент поддержку протокола SSLv2 (LoadError)
Я пытался сделать некоторые обновления для openssl, используя homebrew, и мне каким-то образом удалось все сломать. Я ничего не могу сделать сейчас, это то, что я получаю, когда пытаюсь сделать установку пакета:
$ bundle install
/Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method (LoadError)
Referenced from: /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle
Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
in /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle - /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/openssl.rb:17:in `<top (required)>'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/security.rb:11:in `<top (required)>'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/package.rb:43:in `<top (required)>'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/dependency_installer.rb:3:in `<top (required)>'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/installer.rb:2:in `<top (required)>'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli/install.rb:78:in `run'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli.rb:146:in `install'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor/command.rb:27:in `run'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor/invocation.rb:121:in `invoke_command'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor.rb:363:in `dispatch'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/vendor/thor/base.rb:440:in `start'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/cli.rb:9:in `start'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/bin/bundle:20:in `block in <top (required)>'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/lib/bundler/friendly_errors.rb:5:in `with_friendly_errors'
from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.6.3/bin/bundle:20:in `<top (required)>'
from /Users/asServer/.rbenv/versions/2.1.2/bin/bundle:23:in `load'
from /Users/asServer/.rbenv/versions/2.1.2/bin/bundle:23:in `<main>'
10 ответов:
Я только что исправил аналогичную проблему в своей системе. Вам нужно перестроить установку Ruby 2.1.2, и она будет повторно подключена к недавно обновленному SSL.
$ rbenv install 2.1.2 rbenv: /Users/ryan/.rbenv/versions/2.1.2 already exists continue with installation? (y/N) y Downloading ruby-2.1.2.tar.gz... -> http://dqw8nmjcqpjn7.cloudfront.net/f22a6447811a81f3c808d1c2a5ce3b5f5f0955c68c9a749182feb425589e6635 Installing ruby-2.1.2... Installed ruby-2.1.2 to /Users/ryan/.rbenv/versions/2.1.2
У меня была аналогичная проблема после обновления openssl. Я использую rvm. Я уставился на обновление rvm.
$ rvm get stable
Затем я переустановил 1.9.3.
rvm reinstall ruby-1.9.3-p545
После переустановки я запустил:
$ rvm gemset pristine
Если вы видите какие-либо ошибки при восстановлении набора драгоценных камней, лучшим вариантом будет очистить набор драгоценных камней и перестроить его.
rvm gemset use mygemset rvm gemset empty mygemset gem install bundler bundle install
Если у вас есть несколько наборов драгоценных камней, вам придется повторить эти шаги для каждого из них.
Есть такая же проблема для 1.9.3-p547, под rvm
rvm reinstall ruby-1.9.3-p547
Ruby восстанавливается, но не удается настроить
gemset_pristine
для приложения, потому чтоИменно поэтому я и добрался до этой точки в первую очередь. Порочный круг разочарования...libv8 version 3.16.14.3 failed
Обновить
Проверьте версию своей платформы. У меня есть, например, Darwin 10.8, и это не указано здесь . Таким образом, если ваша версия libv8 gem не имеет предварительно скомпилированного двоичного файла для вашей платформы, она будет потратьте много (ОЧЕНЬ-ОЧЕНЬ) времени. Сходи куда-нибудь поужинать, сходи в кино, расслабься... Если достаточно спросить, может быть, они установят бинарный дистрибутив...
Ты можешь быть таким же придурком, как я, с несколькими openssl
У меня был тот же вопрос для 2.1.2, и отличный ответ Райана Длугоша не зашел достаточно далеко. Моя проблема заключалась в том, что у меня было установлено несколько версий openssl (я думаю, что я установил черезbrew
и ещеgit
в предыдущих проектах).Мне пришлось удалить /opt / local/bin/openssl, а затем перестроить 2.1.2.
Проверьте глобальный rbenv ruby
$ rbenv global 2.1.2
Проверка openssl
$ which -a openssl /opt/local/bin/openssl /opt/local/bin/openssl /usr/bin/openssl
Убить дубликат openssl
$ sudo rm -rf /opt/local/bin/openssl
Перестроить 2.1.2
$ rbenv install -f 2.1.2 Downloading openssl-1.0.1g.tar.gz... -> http://dqw8nmjcqpjn7.cloudfront.net/53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028 Installing openssl-1.0.1g... Installed openssl-1.0.1g to /Users/globber/.rbenv/versions/2.1.2 Downloading ruby-2.1.2.tar.gz... -> http://dqw8nmjcqpjn7.cloudfront.net/f22a6447811a81f3c808d1c2a5ce3b5f5f0955c68c9a749182feb425589e6635 Installing ruby-2.1.2... Installed ruby-2.1.2 to /Users/globber/.rbenv/versions/2.1.2
Когда проблема вообще не решена, я предлагаю удалить RVM. И переустановить РВМ и рельсы.
Удаление RVM
Установка РВМ, рельс
$ curl-L https://get.rvm.io / bash-s
$ rvm получить стабильный
$ rvm требования
$ rvm install 2.0.0 -- with-openssl-dir=$HOME/.rvm / usr
$ rvm use 2.0.0 $ gem update --system 2.0.3
$ gem install rails --версия 4.0.5
Пользователи Rbenv:
Это помогает убедиться, что вы используете правильную версию ruby. Если вы переустановите rbenv или установите новый ruby, перейдите на версию ruby, которую вы только что установили:
$ rbenv local 2.1.3
На случай, если это кому-то поможет: у меня была установлена более новая версия Ruby (2.1.2), и в моем .файл ruby-version I ссылался на старый (2.0.0-p353)
Изменение моего .ruby-version file to 2.1.2 исправил эту проблему для меня.
У меня была аналогичная проблема, которая возникла после обновления до ruby 2.2.2. Однако мое окружение немного отличается, что приводит к тому, что вышеуказанные решения не работают.
Я использую:
- OSX Yosemite (10.10.4)
- chruby
- ruby-install
- openssl (устанавливается через homebrew)
Следующая команда(ы) разрешила эту проблему в моей ситуации:
> sudo ruby-install -r /opt/rubies ruby 2.2.2 -- --with-openssl-dir=/usr/local/opt/openssl > gem install bundler > bundler install
В дополнение к приведенным выше ответам на принятие, возможно, вам придется попросить rbenv использовать новую установленную версию. Например, у меня была старая версия в ~/.rbenv / version, поэтому rbenv всегда использовал старый. Ручная установка новой версии в этом файле (или через командную строку) должна устранить проблему.
rbenv install -f 2.1.2 rbenv versions rbenv global 2.1.2 //sets global version to 2.1.2