web-dev-qa-db-ja.com

HerokuプッシュでgitリモートのGemファイルが失敗する

私のgemfileには次の行があります。

gem 'client_side_validations', :git => "[email protected]:Dakuan/client_side_validations.git", :branch => "master", ref: '2245b4174ffd4b400d999cb5a2b6dccc0289eb67'

それが指しているリポジトリはパブリックであり、バンドルのインストール/アップデートをローカルで実行できます。 Herokuにプッシュしようとすると、次のエラーが発生します。

   Fetching [email protected]:Dakuan/client_side_validations.git
   Host key verification failed.
   fatal: The remote end hung up unexpectedly
   Git error: command `git clone '[email protected]:Dakuan/client_side_validations.git' "/tmp/build_1xa9f06n4k1cu/vendor/bundle/Ruby/1.9.1/cache/bundler/git/client_side_validations-56a04875baabb67b5f8c192c6c6743df476fd90f" --bare --no-hardlinks` in directory /tmp/build_1xa9f06n4k1cu has failed.

! ! Bundler経由でのgemのインストールに失敗しました。 ! ! Herokuプッシュが拒否され、Ruby/Railsアプリをコンパイルできませんでした

誰もがここで何が起こっているのかについて何か考えを持っていますか?

55
Dom Barker

代わりにこのGitHub URLを使用してください:git://github.com/Dakuan/client_side_validations.git

[email protected]:… URLは書き込み可能なSSHバージョンであり、リポジトリへの書き込みアクセス権を持つGitHubアカウントに接続されたSSHキーによる認証が必要です。

git://github.com/… URLは、読み取り専用の公開バージョンです。

使用しているgemはパブリックGitHubリポジトリにあるため、Gemfileでこの省略形を使用することもできます。

gem 'client_side_validations', :github => 'Dakuan/client_side_validations'

詳細については、 Bundler Gitのドキュメント を参照してください。

152
georgebrock

2番目の答えが遅くなり、Herokuのビルドログから混乱を招く出力が出て、しばらく困惑しました。

GemfileにGithubでホストされている複数のgemがあり、そのうちの1つにアクセスできない場合(私の場合、誤って自分のプライベートリポジトリを指していた場合)、ビルドログでUsername not foundまたはRepository not found for all Githubがホストする宝石-入手可能なものも含みます。

0
Ben Hull