私は小さなチームで働いており、内部使用のためにいくつかの gem を開発しました。これらの gem はさまざまに相互依存しており、私の Github アカウントでホストされています。これらの gem への依存関係を宣言するときは、常に : を宣言しGemfile
ます:git => 'url/for/gem/on/github'
。しかし、Bundler からいくつかの紛らわしい動作が発生しています。次のように考えます。
- gem A が A の Gemfile で github-hosted B に依存し、宣言している場合
- B は、B の Gemfile で github にホストされた C に依存し、宣言します。
- それから私がAから逃げるとき
bundle install
... - A の Gemfile で宣言されているように、Bundler は github から B をフェッチする必要があります。
- 次に、B の Gemfile で宣言されているように、github から C を取得します
しかし、Bundler は、C が見つからないと文句を言います。C を A のGemfile
適切な場所で宣言すると、文句を言いません。Bundler は実際には依存関係Gemfile
をまったく見ておらず、単に依存関係を調べているだけだと推測するのは正しいgemspec
ですか? そして、もしそうなら、私が説明する問題に対して、 C を A の依存関係として直接 A に宣言するよりも良い解決策はありGemfile
ますか?
更新: Github アカウントを で gem ソースとして宣言できればGemfile
、この問題は解決されるようです。これは可能ですか?