bundle install が gem をダウンロードした後に Git 依存関係で止まる場合は、その依存関係のソースを調べてください。ダウンロードの成功は、それらのダウンロードに使われた経路だけを証明します。

  1. Gemfile または lockfile にある実際の Git URL を読む。 HTTPS、SSH、git:// はそれぞれ異なる接続を必要とします。古い Bundler の省略記法は、短い宣言の中に git:// URL を隠していることがあります。
  2. ビルドが使う Git 呼び出しを調べる。 その実効設定、環境、アカウントを、動作しているターミナルでの呼び出しと比較してください。ビルドエージェントや特権コマンドは異なる入力を見ている可能性があります。
  3. 選択されたトランスポートに従う。 許可された HTTPS ソースでは、ネイティブ Git のサポートされている HTTP プロキシ設定が適用できます。SSH では、組織がサポートする SSH 経路を使ってください。HTTP プロキシ設定は、Bundler が起動できるすべてのトランスポートを設定するわけではありません。

公開された仲介者を許可する公開 HTTPS Git ソースでは、HTTP プロキシ一覧がその Git 設定の候補エンドポイントを提供します。

次にエラーを分類します。407 は仲介者へのアクセスに関するものです。トンネル成功後のプライベートリポジトリの権限エラーは、別個のアカウントや鍵に関するものです。プロキシの認証情報は Gemfile やコミット済みのソース URL に置かないでください。これらの宣言は、ネットワーク設定が異なりうるプロジェクト利用者と共有されます。

無関係な回避策が勧めているという理由だけで、動作中のプロキシを置き換えたり、ドメイン修飾されたアカウントを編集したりしないでください。完了とは、特定の Git ソースを意図した経路で取得することです。すでに成功した gem ダウンロードを繰り返しても、その失敗は検証されないままです。

関連記事