Symbol not found: _SSLv2_client_method (LoadError) エラー

スポンサーリンク

先日、bundle install で表題のエラーがエラーが発生しました。Ruby のバージョンは rbenv で入れていた 2.1.2。

— 環境 —
Mac OS X Yosemite 10.10.3

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

OpenSSL のアップデートが原因

何かの拍子でシステムに入っている OpenSSL のバージョンがアップデートされたのが原因らしい。brew update した時だろうか…。ちょっとこれまた詳細不明。

Ruby が使おうとしている OpenSSL とシステムに入っている OpenSSL のバージョンがずれていると、このエラーが発生するそうです。以下のページなど参考。

[ruby][mac]bundle install時にSymbol not found: _SSLv2_client_method (LoadError) | hello-world.jp.net
OSX – Yosemiteにした時にSymbol not found: _SSLv2_client_method (LoadError)が出たら – Qiita
rubyでSymbol not found: _SSLv2_client_method (LoadError)が出るとき | Lifelog

Ruby を再インストールして解決

解決策としては、Ruby を再インストールが可能な環境であれば、対象バージョンの Ruby を一旦アンインストールして入れなおせばOKです。私の環境では rbenv で Ruby を管理しているので、rbenv で削除してインストールし直しました。

対象の Ruby 2.1.2 を一旦アンインストール。

パーミッションのせいで rm で消せないディレクトリがあったので、sudo でもう一回実行しました。

これで 2.1.2 を消せました。

rbenv で Ruby 2.1.2 を再インストールします。

これで、表題のエラーが出なくなり解決。

スポンサーリンク
私は以下の本で Ruby を覚えました。メタプログラミングRubyは入門を超える内容で難しめです。
 
スポンサーリンク

Leave Your Message!