3

gem B に依存している gem A があります。両方の gem は私自身のもので、現在プライベート開発中です。これらを ruby​​gems に公開する予定はありません。

Rails アプリで gem A を使用したいと考えています。

問題は、Rails アプリの bundle install を実行しようとすると、このエラーが発生することです。

gem 'A (>= 0) ruby​​' が必要とする gem 'B (>= 0) ruby​​' がどのソースにも見つかりませんでした。

私が持っているGemfileの私のRailsアプリで

gem 'A', :path => "/path/to/A'

私が持っているgem Aのgemspecで

gem.add_dependency 'B'

AのGemfileで、Bの場所を明示的に設定します

gem 'omusubi', :path => "path/to/B'

Railsアプリを実行しようとすると、上記の構成が機能していないようです。

ただし、gem の各テスト スイートを実行すると、問題なくパスします。

問題は、Railsアプリを実行し、バンドラーが依存関係Aをロードすると、Aのgemspecのみを見て、gemfileを完全に無視することだと思います。これはおそらく意図されたものです。では、この開発段階でプライベート gem を公開することを約束せずにコードを機能させるにはどうすればよいでしょうか。

4

1 に答える 1

1

1 つの可能性は、:path オプションを使用して、アプリの Gemfile で B に強く依存することです。この場合、Bundler は正しく解決する必要があります。

于 2013-02-18T13:20:08.447 に答える