ruby-on-rails - your - windows bundle install エラー




SSL証明書検証エラーでバンドルのインストールに失敗する (19)

CentOS 5.5でRails 3プロジェクトのbundle installを実行bundle installと、エラーが発生して失敗します。

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を手動でインストールしようとすると( gem install multi_json -v '1.3.2' )動作します。 他のいくつかの宝石と同じ問題が発生します。 私は、RVM(1.12.3)、ruby 1.9.2、bundler 1.1.3を使用します。

それを修正するには?


rails-assetsを使用している場合

https://rails-assets.org/を使用してアセットを管理していた場合は、回答が役に立ちません。 http変換しても役に立ちません。

最も簡単な解決策は、このソースを代わりに使用することです( http://insecure.rails-assets.org 。 これは彼らのhomepage言及されています。


.pemファイルについてここで与えられた単純なコピー貼り付け命令

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

証明書の確認に失敗しました

前のセクションを読んだら、これは何を意味するのかを知ることになります。

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

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

C:> C:\ Ruby21 \ lib \ ruby​​ \ 2.1.0 \ ruby​​gemsこれで指定したディレクトリ内にExplorerウィンドウが開きます。

手順3:新しい信頼証明書をコピーする

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

GeoTrustGlobalCA.pemのような他のファイルと共にリストされます。


SSL証明書が内部認証局によって信頼されているソースから宝石を掴んでいる場合(またはSSL検査を使用して企業のWebプロキシを介して外部ソースに接続している場合)、SSL_CERT_FILE環境変数を証明書チェーンに指定します。 これは、ルート証明書を証明書ストア(macOSのシステムキーチェーン)からシェルからアクセス可能な場所にエクスポートする必要があります。

export SSL_CERT_FILE=~/RootCert.pem

Thx to @ Alexander.Iljushkin〜のために:

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

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

gem install bundler


Windowsマシンの場合は、

gem --version

以下のようにgemを更新してください:

後で指し示すことができるディレクトリにファイルをダウンロードしてください(例えば、あなたのハードドライブのルートC :)。

コマンドプロンプトを使用して:

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

SSL証明書検証エラーなしでバンドルインストールが成功するようになりました。

より詳しい説明はhttps://gist.github.com/luislavena/f064211759ee0f806c88



https://rubygems.org/downloads/rubygems-update-2.6.7.gemダウンロードしてhttps://rubygems.org/downloads/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

更新

今、私はこの答えから十分に掘り起こしたカルマを見つけました。誰もがこれが修正されているはずです。

再:Ownatik経由でSSL証明書検証エラーでバンドルインストールが失敗する

gem update --system

それがあなたのために働いていない場合、私の答えはまだ正しいですし、参照のために下に残しました。

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

[...]一時的な回避策としてgemfileのrubygemsの非ssl版を使用してください。

ユーザーOwnatik経由で

その意味は、あなたのレールアプリケーションディレクトリのGemfileの一番上にあります

source 'https://rubygems.org'

source 'http://rubygems.org'

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


あなたが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を介して宝石をダウンロードし、セキュリティが解除されるよりもはるかに優れている中間の攻撃の人のような問題がある場合には失敗します。


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


これは修正されました

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

これは私のために働いた:

  • 最新のgemをhttps://rubygems.org/pages/downloadダウンロードしてhttps://rubygems.org/pages/download
  • gem install --local [path to downloaded gem file]gem install --local [path to downloaded gem file]
  • update_rubygems宝石を更新する
  • あなたがgem --version最新のgemバージョンを使用していることを確認してください


一時的な解決策(Ownatikによって示唆されたように):

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

これにより、バンドル業者がインストールしようとすると、宝石のSSL証明書がチェックされなくなります。

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


同様のエラーが発生しました。 ここで私はこれを解決した方法です:あなたのパスディレクトリで、Gemfileを確認してください。 gemfile内のソースをhttpsではなくhttpに編集して保存します。 SSL証明書を発行せずにバンドラをインストールする可能性があります。


最も簡単な解決法:

rvm pkg install openssl
rvm reinstall all --force

Voila!


私の恒久的なWindows修正:

  1. CACertダウンロードし、 CACert C:\ruby\ssl_certs\GlobalSignRootCA.pem CACertからC:\ruby\ssl_certs\GlobalSignRootCA.pemとして保存しguides.rubygems.org/ssl-certificate-update

  2. " SSL_CERT_FILE "という名前のシステム変数を作成し、 C:\ruby\ssl_certs\GlobalSignRootCA.pemます。

  3. もう一度やり直してください: gem install bundler

C:\gem sources
*** CURRENT SOURCES ***
https://rubygems.org/

C:\gem install bundler
Fetching: bundler-1.13.5.gem (100%)
Successfully installed bundler-1.13.5
1 gem installed

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

私にとっての解決策は、 rvm経由でRubyをインストールするときに強制的にコンパイルすることrvm

rvm reinstall --disable-binary 2.2

私は最近、この問題に直面し、 here概説した手順に従いhere 。 あなたが正しいOpenSSL証明書を指していない可能性があります。 実行後:

rvm osx-ssl-certs status all
rvm osx-ssl-certs update all

そして

export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt

バンドル完了!







bundler