moosan63の日記、技術メモ

日記とか、技術メモとか

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ができるように。

まとめ

  1. gem installがopensslのエラーで弾かれたらまず証明書をチェック
  2. 最新と出ているのにつながらなかったらrvmやrbenvのバージョンが最新かチェック
  3. 最新でなかったらそれらをアップデートしてから、証明書を最新のものに