1. ホーム
  2. ruby-on-rails

[解決済み】rubygemsインストール時のSSLエラー、'https://rubygems.org/'からデータを引き出せない。

2022-04-01 11:07:03

質問

Michael Hartlのチュートリアルをやろうとしています。 rails 3.2.14をgemsetにインストールしようとすると、次のような問題が発生します。

$ gem install rails -v 3.2.14

ERROR: 有効な gem 'rails' (= 3.2.14) が見つかりませんでした、理由はここにあります。

からデータをダウンロードできません。 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/specs.4.8.gz )

ググってみたら、rubygemsの非SSLソースが使えることがわかったので、実行しました。

sudo gem sources -a http://rubygems.org

その後、再度railsをインストールしようとしたところ、成功しました。 しかし、やはり上記の問題が発生しましたが、警告として表示されました。

警告: ' からデータを引き出すことができません。 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/specs.4.8.gz )

この警告/エラーを完全に取り除くにはどうすればよいですか?

以下のように使っています。

  • rvm 1.22.15
  • ruby 2.0.0p247 (2013-06-27 リビジョン 41674) [x86_64-darwin12.3.0].
  • OSX 10.8.5

解決するには?

RVM & OSXをお使いの方へ

最新のrvmを使用していることを確認してください。

rvm get stable

すると、2つのことができるようになります。

  1. 証明書を更新します。

    rvm osx-ssl-certs update all
    
    
  2. rubygems を更新します。

    rvm rubygems latest
    
    

RVMをご利用でないお客様へ

証明書のパスを検索します。

cert_file=$(ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE')

証明書を生成します。

security find-certificate -a -p /Library/Keychains/System.keychain > "$cert_file"
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> "$cert_file"

全体のコードです。 https://github.com/wayneeseguin/rvm/blob/master/scripts/functions/osx-ssl-certs


OSX以外のユーザーの方へ

パッケージのアップデートを確認する ca-certificates . (古いシステムでは利用できないかもしれません - セキュリティアップデートを受け取らない古いシステムは使用しないでください)

Windows注意事項

Rubyインストーラー Windows用のビルドは ルイス・ラヴェーナ と表示され、証明書へのパスが次のように表示されます。 C:/Users/Luis/... チェック https://github.com/oneclick/rubyinstaller/issues/249 の詳細とこの回答はこちら https://stackoverflow.com/a/27298259/497756 を修正しました。