バンドルインストールで GitHub から gem をインストールできない

概要

新しいコミットをいくつか追加した、フォークされた aws-sdk-ruby リポジトリから gem をインストールしようとしています。

以下は Gemfile に追加したコンテンツです。

gem 'aws-sdk', :git => 'https://github.com/suvrat-joshi/aws-sdk-ruby.git', :branch => 'retry-throttled-cf-requests'

しかし、bundle install を実行しようとすると、次のエラーが表示されます。

Could not find gem 'aws-sdk' in [email protected]:suvrat-joshi/aws-sdk-ruby.git (at
retry-throttled-cf-requests@b77de6d).

また、 gem install aws-sdk -s https://github.com/suvrat-joshi/aws-sdk-ruby.git を実行することで、この gem をソースからインストールできます。ただし、バンドルインストールを通じてこれをインストールしたいと思います。

Web で見つけた回答のいくつかはすでに試していることに注意してください。しかし、これらはどれも私の場合には役に立ちませんでした。のように:

Ruby の専門知識を持つ誰かが、これが機能しない理由とこれを修正する方法を理解するのを手伝ってくれますか?

解決策

https://bundler.io/guides/git.html によると:

If the gem is located within a subdirectory of a git repository, 
you can use the :glob option to specify the location of its .gemspec

同じページに例が示されています。

gem 'cf-copilot',
  git: 'https://github.com/cloudfoundry/copilot',
  glob: 'sdk/ruby/*.gemspec'

したがって、あなたの場合、次のようにする必要があります。

gem 'aws-sdk',
  :git => 'https://github.com/suvrat-joshi/aws-sdk-ruby.git',
  :branch => 'retry-throttled-cf-requests',
  :glob => 'gems/aws-sdk/aws-sdk.gemspec'