結果だけでなく過程も見てください

たい焼きさんの日々の奮闘を綴る日記です。

証明書の有効期限切れやプロキシ配下にいてRubyGemsが失敗するときの対処方法

今更感満載の小ネタです。
他にも躓いて解決した場合は随時追加してきます。

SSLの証明書の有効期限切れ

ある日net-sshをインストールしようとしたらエラーを食らいました。

$gem install net-ssh
ERROR:  Could not find a valid gem 'net-ssh' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSLconnect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://rubygems.org/specs.4.8.gz)

色々調べると,どうやらRubyに同梱されているSSL証明書の有効期限が切れているのでは?とのこと。
正しい有効期限のSSL証明書に差し替えるような手段もあるようですが,楽で手っ取り早い方法があるようです。

$gem install net-ssh --source http://rubygems.org
Fetching: net-ssh-3.2.0.gem (100%)
Successfully installed net-ssh-3.2.0
Parsing documentation for net-ssh-3.2.0
Installing ri documentation for net-ssh-3.2.0
1 gem installed

httpsでなくhttpを使う!なるほど!

プロキシ配下でgemするとエラーになる

プロキシ用のオプションがあるようで,それを使えばよろしいようです。簡単!

$ gem install net-ssh -r -p http://<ユーザー名>:<パスワード>@<プロキシサーバーのホスト名orIPアドレス>:<ポート番号>

参考サイト

Windows環境でgemがSSLエラー 2016
http://qiita.com/betrue12/items/059c2424f27fd31969f9

RubyInstaller for Windowsでのgem installでSSL_connectエラーになる場合
http://qiita.com/fkshom/items/4206ebafbd80aa985498

Proxy環境でgem install
http://qiita.com/wakaba260/items/f7794cea3fac8c694dcf