Gemfile のバンドラーの最小バージョンを指定するにはどうすればよいですか?
概要
私の Gemfile が :mri_20 を使用していて、以前のバージョンのバンドラーがそれをサポートしていない場合、次のように追加するのは良い考えですか?
gem 'bundler', '~>1.3.5'
Gemfile に?バンドラーの最小バージョンを強制するより良い方法はありますか?
解決策
これは、Gemfile 内の gem を管理するために使用されるバンドラーには影響しません。使用されるバンドラーのバージョンは、現在の Ruby 環境で利用可能なバージョンです。
これを管理する最善の方法は gemset を使用することです。既知の動作バージョンの Bundler を使用して gemset を作成し、そのプロジェクトで作業するときに常にその gemset に切り替えることができます。
バンドラーのバージョンを確認するには、次を実行します。
$ bundle --version
Bundler version 1.3.5
バンドル インストールの実行時にバンドラーのバージョンを強制したい場合は、これを Gemfile の先頭に置きます。
# Gemfile
if Gem::Version.new(Bundler::VERSION) < Gem::Version.new('1.3.5')
abort "Bundler version >= 1.3.5 is required"
end