bundle install がこけるようになった(改訂版)

  • 36
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

助けて ! bundle install が息してないの !

つい先日まで元気に動いていた bundle install さんがお亡くなりになった。

Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

はい ? ググる。SSL 証明書の認証に失敗してるのか。証明書の場所を確認してみよう。

> ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'
"C:/Users/Luis/Code/luislavena/knap-build/var/knapsack/software/x64-windows/openssl/1.0.0o/ssl/cert.pem"

いやいやいやwwwLuis なんてユーザー作ってねぇしwww誰だよおまえ1wwwwww

最初にやったこと

RubyGems をアップデートする

Ruby - bundle install がこけるようになった - Qiita
一度はこの方法で上手く言ったかに見えた。しかし…。

RubyGems 2.4. is broken on Windows

RubyGems.org patched for Poodle SSLv3 (CVE-2014-3566) breaks Windows gem commands · Issue #241 · oneclick/rubyinstaller

(☝՞ਊ ՞)☝ファーーーーーーーーーー

と、言うわけで…。

やるべきこと

は、ここに書いてある。
Workaround RubyGems' SSL errors on Ruby for Windows (RubyInstaller)

1. 新しい証明書をダウンロードしてくる

上記リンク先に AddTrustExternalCARoot-2048.pem というファイルへのリンクがあるので、それをダウンロードしてくる。

2. RubyGems の証明書の場所を探す

コマンドプロンプトで

gem which rubygems

と打ち込むと、場所を教えてくれる。通常は

C:/Ruby/lib/ruby/2.1.0/rubygems.rb

とか出てくる2はず。そのままコマンドプロンプトで

start C:\Ruby\lib\ruby\2.1.0\rubygems

と打ち込めば証明書のあるフォルダが開く。

3. ダウンロードしてきた証明書をコピーする

開いたフォルダの中に ssl_certs というフォルダがあるはずなので、その中にさっきの pem ファイルをコピーする。

4. やったね !

これで SSL の問題に悩まされることなく各種 gem を gem install できるはず。


  1. Windows 向けの RubyInstaller のメンテナの Luis Lavena さんです。 

  2. Ruby は実際に Ruby をインストールしたフォルダ名。