Ruby
OSX
rbenv

Yosemiteにした時にSymbol not found: _SSLv2_client_method (LoadError)が出たら

More than 3 years have passed since last update.

rbenvの環境だけなのかもしれませんが、Yosemiteにアップデートした後にRubyでこんなエラーが出ました。

[~/github/myrepo]$ bundle install --path=vendor/bundle/                                                                                                                       
/Users/sjun/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/Users/sjun/.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/sjun/.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

これを解決するには、Rubyを一度消して、再度インストールすれば大丈夫です。

$ rbenv uninstall 2.1.2
rbenv: remove /Users/sjun/.rbenv/versions/2.1.2? y

$ rbenv install 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/sjun/.rbenv/versions/2.1.2

$ rbenv global 2.1.2
$ rbenv rehash

手元の2.0.0-p353, 2.1.2で起きたので、Rubyのバージョンに関係なく起きそうです。