Techioz Blog

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 を実行するだけです。