2つの宝石がある場合、A
およびB
。A1.0.0
に依存しB1.0.0
ます。
私のGemfileで:
gem 'A', '~> 1.0.0'
次に、を実行しbundle
ます。次のようなGemfile.lockが生成されます。
A (1.0.0)
B (1.0.0)
A
しかし、強制的に使用したい場合B1.0.1
、ベストプラクティスは何ですか?さらに、B1.0.1
リリースではなくgithubタグの場合はどうなりますか?
Git リポジトリまたは別のバージョンを使用するには、Gemfile で B gem を明示的に指定する必要があります。A 1.0.0 が B 1.0.1 と互換性がある限り、問題ありません。B 1.0.0 とのみ互換性がある場合は、A gem の独自のフォークを作成し、B 1.0.1 と互換性があるように gemspec をアップグレードしてから、そのリポジトリを rubygems の代わりに A の gem として使用する必要があります。バージョン。
以下は、A 1.0.0 が B 1.0.1 と互換性がある場合に必要なものを提供するサンプル Gemfile です。
gem 'B', :git => 'git://github.com/B/B.git', :tag => '1.0.1'
gem 'A', '~> 1.0.0'