Bundler: Gemfile の git ブランチの最新リビジョンを常に使用します
概要
次の形式のプライベート git リポジトリを含む Gemfile があります。
gem ‘magic_beans’, :git => “[email protected]:magic_beans.git’, :branch => ‘super_beans’
バンドル インストールすると、Gemfile.lock によって特定の SHA リビジョンにロックされます。
バンドラーに常に最新の SHA コミットを確認して使用させたり、Gemfile.lock を更新させたりすることはできますか? super_beans ブランチに更新をプッシュするとき、Gem のバージョンは変更していないことに注意してください。
理想的には、bundle を実行するたびに、ブランチの新しい SHA リビジョンがないか上流の git リポジトリをチェックします。
解決策
これはバンドラーの仕組みではありません。 重要なのは、依存関係のシームレスなバージョン管理を可能にすることです。 (特に、いつでもどのバージョンのコードがデプロイされているかを正確に知るためです)。
最新バージョンが必要な場合は、実行するだけです。
bundle update magic_beans
これは、単に次のように言ったのとまったく同じ機能です。
gem "rails"
ただし、更新したい特定のものがある場合は、お勧めします。 次に、カスタム バイナリ (たとえば、bundle_update という名前の実行可能ファイル) を追加します。
#!/usr/bin/env bash
bundle install
bundle update magic_beans
これらを更新したい場合は、./bundle_update を実行するだけです。