- 更新日: 2013年10月4日
- Ruby
Gem::RemoteFetcher::FetchError: SSL_connect… certificate verify failed を修正
前回のエラー bundle install で Gem::RemoteFetcher::FetchError: SSL_connect…エラー | EasyRamble に対し、抜本的な対策を行いました。
bundle install 時に以下のようなエラーが起こっていた。
1 2 3 4 5 6 7 8 9 10 |
$ bundle install --path vendor/bundle Fetching gem metadata from https://rubygems.org/......... Fetching gem metadata from https://rubygems.org/.. Resolving dependencies... Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://s3.amazonaws.com/production.s3.rubygems.org/gems/mini_portile-0.5.1.gem) An error occurred while installing mini_portile (0.5.1), and Bundler cannot continue. Make sure that `gem install mini_portile -v '0.5.1'` succeeds before bundling. |
SSLを使わないようにして応急処置していたのですけど、やっぱりこれはまずいらしい。ググったり Twitter で検索したらいくつかの情報にたどり着けました。
環境
Macbook Air – Mac OS X Lion 10.7.5
homebrew + rbenv
SSL certificate authority file(SSL証明書)のデフォルトのファイル位置を調査
以下のコマンドで Ruby が利用する SSL certificate authority file(SSL証明書)の場所を調べられます。
1 2 3 4 |
$ ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE' /usr/local/etc/openssl/cert.pem |
/usr/local/etc/openssl/ を見てみる。
1 2 3 4 5 6 7 8 9 10 |
$ ls -la /usr/local/etc/openssl/ total 24 drwxr-xr-x 6 takafumir admin 204 5 14 19:17 . drwxr-xr-x 10 takafumir admin 340 9 2 15:01 .. drwxr-xr-x 2 takafumir admin 68 5 14 19:17 certs drwxr-xr-x 9 takafumir admin 306 5 14 19:17 misc -rw-r--r-- 1 takafumir admin 10835 5 14 19:17 openssl.cnf drwxr-xr-x 2 takafumir admin 68 5 14 19:17 private |
/usr/local/etc/openssl/cert.pem というファイルは存在していませんでした。
homebrew で証明書の Formula である curl-ca-bundle をインストール
homebrew で curl-ca-bundle を入れた後、/usr/local/etc/openssl/cert.pem にSSL証明書をコピーします。brew install openssl は、openssl が入ってればスキップ。
1 2 3 4 5 6 7 |
$ brew update $ brew install openssl $ brew link openssl --force $ brew install curl-ca-bundle $ cp /usr/local/Cellar/curl-ca-bundle/1.87/share/ca-bundle.crt /usr/local/etc/openssl/cert.pem |
再び bundle install
今度はもう一度、https 経由で bundle install を試してみる。
1 2 3 4 5 6 7 8 |
$vi Gemfile source "https://rubygems.org" gem "nokogiri" $ bundle install --path vendor/bundle |
今度は無事に bundle install できました。一応この件はこれで対策終了。
ここ数日とかの最新の情報を調べる際には、検索エンジンよりTwitterのほうが情報を見つけやすいですね。今月10月に入ってからの情報が結構見つかったのですけど、これ最近発生するようになったのでしょうか?
- – 参考リンク –
- Fixing RubyGems SSL Issues (Certificate Verify Failed) – Gabe Evans
- OpenSSL Errors and Rails – Certificate Verify Failed · RailsApps
- SSL_connect certificate verify failed
- rbenv で ruby2.0.0-p0 のインストール – Qiita [キータ]
- [Ruby, Mac] Net::HTTPでSSL使用時にcertificate verify failed – 黒川仁の文具堂ブログ三昧
- Ruby – OpenSSLでcertificate verify failedが出た場合 – Qiita [キータ]
- Ruby の関連記事
- Gemの作り方(Ruby Gem)
- ローカル開発中のgemをGemfileに書いてインストール
- 熊本地震の余震が夜に多いのは本当か?Rubyプログラムで検証してみた
- El Capitanでgemのnative extensionビルド失敗に対応
- Rubyで親クラスから子クラスの定数を参照
- MacabをRubyで使う
- rbenv/ruby-buildでRuby最新バージョンをインストール
- Rubyでクラスインスタンス変数にインスタンスメソッドからアクセス
- 距離1kmあたりの緯度・経度の度数を計算(日本・北緯35度)
- Google Maps Geocoding APIで住所から緯度・経度を取得するRubyコード
Leave Your Message!