gem installするときにopensslのエラーで怒られた件の解消
gem install hoge
としたとき
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz)
と怒られてダウンロードできなかった。
ためしたこと
% rvm osx-ssl-certs status all Certificates for /System/Library/OpenSSL/cert.pem: Up to date. Certificates for /usr/local/etc/openssl/cert.pem: Up to date.
しかし、よく考えたらrvmが古いのではないかということに気づきrvm自体をアップデートすることに
rvm get latest
やはり古かったみたいで、新しいのがインストールされた
% rvm osx-ssl-certs status all Warning! PATH is not properly set up, '/Users/moosan/.rvm/gems/ruby-2.0.0-p0@global/bin' is not at first place, usually this is caused by shell initialization files - check them for 'PATH=...' entries, it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles', to fix temporarily in this shell session run: 'rvm use ruby-2.0.0-p0@global'. Certificates for /System/Library/OpenSSL/cert.pem: Old. Certificates for /usr/local/etc/openssl/cert.pem: Old.
見事に証明書がoldに!これが原因だった!
解消
ということで
% rvm osx-ssl-certs update all
をして無事にgem installができるように。
まとめ
- gem installがopensslのエラーで弾かれたらまず証明書をチェック
- 最新と出ているのにつながらなかったらrvmやrbenvのバージョンが最新かチェック
- 最新でなかったらそれらをアップデートしてから、証明書を最新のものに