265

bundle installCentos 5.5 で Rails 3 プロジェクトを実行すると、次のエラーで失敗します。

Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 
read server certificate B: certificate verify failed 
(https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem)
An error occured while installing multi_json (1.3.2), and Bundler cannot continue.
Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling.

宝石を手動で(によって)インストールしようとすると、gem install multi_json -v '1.3.2'機能します。他のいくつかの gem でも同じ問題が発生します。RVM (1.12.3)、ruby 1.9.2、バンドラー 1.1.3 を使用しています。

修正方法は?

4

28 に答える 28

313

アップデート

この回答からカルマを十分に掘り下げたので、これは修正されるべきだったことを誰もが知っているはずです。

re:Ownatik経由で再びバンドルのインストールが失敗し、SSL証明書の検証エラーが発生する

gem update --system

私の答えはまだ正しいので、それがうまくいかない場合の参考のために以下に残します。


正直なところ、最善の一時的な解決策は

[...] 一時的な回避策として、gemfile で非 SSL バージョンの ruby​​gems を使用してください。

ユーザーOwnatik経由

彼らが意味することはGemfile、レールアプリケーションディレクトリの変更の一番上にあります

source 'https://rubygems.org'

source 'http://rubygems.org'

2 番目のバージョンは http ではなく http であることに注意してください。

于 2012-04-22T01:28:23.727 に答える
230

一時的な解決策として、ssl gem ソースを非 ssl に置き換えます。

于 2013-08-08T15:28:36.147 に答える
162

その理由は古い ruby​​gems です。最初に非 ssl ソースを使用してシステム部分を更新する必要があります。

gem update --system --source http://rubygems.org/(非 SSL 接続を使用してシステム部分を一時的に更新しています)。

これで、 を使用する準備が整いましたgem update

于 2014-12-12T15:42:18.923 に答える
118

Mac を使用していて、RVM の最新バージョン (~1.20) を使用している場合、次のコマンドでうまくいきました。

rvm osx-ssl-certs update
于 2013-10-02T18:03:08.217 に答える
55

この問題は現在修正されているはずです。rubygems ( gem update --system) を更新するか、OS で openssl が最新バージョンであることを確認するか、まだ機能しない場合のヒントを試してください: http://railsapps.github.com/openssl-certificate-verify-failed.html

于 2012-05-03T11:22:45.907 に答える
52

一時的な解決策(Ownatikによってほのめかされたように):

次の行を含め、ホームパスに.gemrcというファイルを作成または変更します:ssl_verify_mode: 0

これにより、バンドラーがgemをインストールしようとしたときにgemのSSL証明書をチェックできなくなります。

* nixデバイスの場合、「ホームパス」はを意味し~/.gemrcます。必要に応じて作成することもでき/etc/gemrcます。Windows XPの場合、「ホームパス」はを意味しc:\Documents and Settings\All Users\Application Data\gemrcます。Windows7の場合C:\ProgramData\gemrc

于 2012-04-20T17:03:09.657 に答える
15

RVM を使用している場合、この問題の実際の解決策は次のとおりです。

  1. rubygem を更新します。gem update --system
  2. RVM を使用して SSL 証明書を更新します。rvm osx-ssl-certs update all

RailsAppsプロジェクトのこのヒントに敬意を表します

于 2013-10-22T03:50:02.633 に答える
8

curl の Web サイト ( http://curl.haxx.se/ca/cacert.pem ) から CA 証明書のリストをダウンロードできます。

次に、SSL_CERT_FILE 環境変数を設定して、それを使用するように Ruby に指示します。たとえば、Linux では次のようになります。

$ SSL_CERT_FILE=~/cacert.pem bundle install

(参考:https ://gist.github.com/fnichol/867550 )

于 2013-10-18T05:36:20.447 に答える
7

Ruby を RVM 経由でインストールしていて、簡単な修正が必要な場合 (Bruno の要求に従って読みたくない場合) は、これを試してください:

rvm remove 1.9.x (or whatever version of ruby you are using)
rvm pkg install openssl
rvm install 1.9.2 --with-openssl-dir=$rvm_path/usr

詳細については、解決策を見つけたリンクを次に示します。

http://railsapps.github.com/openssl-certificate-verify-failed.html

ところで、Ubuntu で証明書に触れる必要はありませんでした。

何よりも、これは回避策ではありません。SSL を介して gem をダウンロードし、中間者攻撃のような問題がある場合は失敗します。これは、セキュリティをオフにするよりもはるかに優れています。

于 2012-04-27T19:35:42.303 に答える
6

これは修正されました

http://guides.rubygems.org/ssl-certificate-update/

RubyGems 2.6.x がリリースされたので、このバージョンに手動で更新できます。

https://rubygems.org/downloads/rubygems-update-2.6.7.gem をダウンロード

後で指定できるディレクトリにファイルをダウンロードしてください (例: ハードドライブ C: のルート)

次に、コマンド プロンプトを使用します。

C:\>gem install --local C:\rubygems-update-2.6.7.gem
C:\>update_rubygems --no-ri --no-rdoc

この後、 gem --version は新しい更新バージョンを報告するはずです。

rubygems-update gem を安全にアンインストールできるようになりました。

C:\>gem uninstall rubygems-update -x
于 2016-10-20T12:25:37.823 に答える
5

.pem ファイルに関するここに記載されている簡単なコピー貼り付けの手順

https://gist.github.com/luislavena/f064211759ee0f806c88

証明書の検証に失敗しました

前のセクションを読んだことがあれば、これが何を意味するかわかるでしょう (読んでいない場合は残念です)。

AddTrustExternalCARoot-2048.pemをダウンロードする必要があります。コマンド プロンプトを開き、次のように入力します。

C:>gem which ruby​​gems C:/Ruby21/lib/ruby/2.1.0/rubygems.rb では、そのディレクトリを見つけてみましょう。同じウィンドウ内から、ファイル拡張子までのパス部分を入力しますが、代わりにバックスラッシュを使用します。

C:>start C:\Ruby21\lib\ruby\2.1.0\rubygems これにより、指定したディレクトリ内にエクスプローラ ウィンドウが開きます。

ステップ 3: 新しい信頼証明書をコピーする

次に、ssl_certs ディレクトリを見つけて、前の手順で取得した .pem ファイルを内部にコピーします。

GeoTrustGlobalCA.pem などの他のファイルと一緒にリストされます。

于 2014-12-27T14:09:24.147 に答える
4

これは、Windows でこの問題を解決する方法です。

.perm ファイルをダウンロードし、コマンド プロンプトで SSL_CERT_FILE を設定します。

https://gist.github.com/fnichol/867550

于 2014-07-29T20:23:45.817 に答える
4

最も簡単な解決策:

rvm pkg install openssl
rvm reinstall all --force

出来上がり!

于 2013-10-16T14:20:31.487 に答える
4

同じ問題ですが、異なる宝石がここにあります:

Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 
read server certificate B: certificate verify failed 
(https://bb-m.rubygems.org/gems/builder-3.0.0.gem)
An error occured while installing builder (3.0.0), and Bundler cannot continue.
Make sure that `gem install builder -v '3.0.0'` succeeds before bundling.

一時的な解決策:gem install builder -v '3.0.0'続行できるようにしますbundle install

于 2012-04-20T12:36:51.540 に答える
3

おそらく関連していますが、Ubuntu 12.04 では少し異なるエラーが発生します。

Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=unknown state: sslv3 alert handshake failure (https://d2chzxaqi4y7f8.cloudfront.net/gems/activesupport-3.2.3.gem)
An error occured while installing activesupport (3.2.3), and Bundler cannot continue.
Make sure that `gem install activesupport -v '3.2.3'` succeeds before bundling.

Gemfile で実行するbundle installと発生します。source 'https://rubygems.org'

これは、Ubuntu 12.04 での OpenSSL の問題です。Rubygems issue #319を参照してください。

これを修正するにはapt-get update && apt-get upgrade、Ubuntu 12.04 で実行して OpenSSL をアップグレードします。

于 2012-04-28T14:40:25.763 に答える
3

@Alexander.Iljushkin への Thx:

gem update --system --source http://rubygems.org/

そのバンドラーがまだ失敗した後、その解決策は次のとおりです。

gem install bundler

于 2016-12-18T19:48:18.683 に答える
3

ダウンロードするバイナリが OS X の OpenSSL でうまく動作しないという事実までこれを追跡することができましたrvm。これは古く、OS によって使用されなくなりました。

私にとっての解決策は、次の方法でRubyをインストールするときにコンパイルを強制することでしたrvm

rvm reinstall --disable-binary 2.2
于 2016-10-18T19:20:12.780 に答える
1

rubygems-update-2.6.7.gem をダウンロード します。

次に、コマンド プロンプトを使用します。

C:\>gem install --local C:\rubygems-update-2.6.7.gem
C:\>update_rubygems --no-ri --no-rdoc

この後gem --version、新しい更新バージョンを報告する必要があります。

rubygems-update gem を安全にアンインストールできるようになりました。

C:\>gem uninstall rubygems-update -x
Removing update_rubygems
Successfully uninstalled rubygems-update-2.6.7
于 2017-01-11T07:24:20.687 に答える