LoginSignup
87
65

More than 5 years have passed since last update.

Windows環境でgemがSSLエラー 2016

Last updated at Posted at 2016-10-05

現象

最近、Windows環境でgemを使うとこんなエラーが出るようになった。

C:\>gem install capybara
ERROR:  Could not find a valid gem 'capybara' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - SSL_connect retur
ned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (
https://api.rubygems.org/specs.4.8.gz)

SSL証明書の検証に失敗しました、というHTTPS通信のエラー。

環境

  • Windows 7 or 10 どちらでも発生を確認。
  • インストールはRubyInstallerを使用。Ruby 2.3.1
  • 発生時点でのgemは2.5.1

解決方法

Rubygemsを最新バージョンにする。

アップデートはgemで取れるが、上で示した通りhttpsは通らないので、httpを指定して取る。

C:\>gem -v
2.5.1
C:\>gem install rubygems-update --source http://rubygems.org/
# 出力省略
C:\>update_rubygems
# 出力省略
C:\>gem -v
2.6.7

この状態でgem installすると通った。

補足:証明書について

https://rubygems.org の証明書を見てみると、有効期間が2016/09/28からだった。最近更新されたっぽいので、これが原因だった可能性が高い。

rubygems_cert.png

Rubygemsのリポジトリも覗いてみると、今回アップデートした前と後で、含まれている証明書が違う。

あと、過去にも似たようなことが起こっていたらしい。

2017/02/06 追記

ありがたいことに投稿から数か月経過してもたまに「いいね」を押してくださる方がいるようなので、今更ながら追記。公式ガイドでは、ブラウザ等でgemファイルを手動ダウンロードする方法が案内されています。そちらのほうがHTTPSを使うため、より安全です。

リンクされているrubygems-update-2.6.7.gemは現在では古くなっているバージョンのため、特に理由がなければ最新バージョンのgemファイルをダウンロードするのが良いと思います。

87
65
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
87
65