rubyの2.1系からセマンティックバージョニングに移ったので3桁目がよく更新される。
Rubyのバージョン指定として、Gemfileに
ruby '2.1.5'
とかするけど、チーム開発してたりすると誰かが更新したらそれ取り込んだ時点で強制的にアップデートしなきゃいけなったりするの若干面倒で、自分のタイミングで更新したいとかあるはず。
それどう指定すればいいんだろうと思って色々調べてた時に見つけたのがこちら。Gemfileで下記のように指定する。
target = "2.1.0"
if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new(target)
puts "Use ruby #{target}+ (Your version is #{RUBY_VERSION})"
exit(1)
end
こうするとruby2.0系を使ってるとbundleが実行されず、2.1以降だとbundleが通る。
2.0系
$ rbenv global 2.0.0-p594
$ bundle install
Use ruby 2.1.0+ (Your version is 2.0.0)
2.1系
$ rbenv global 2.1.4
$ bundle install
...
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
$ rbenv global 2.1.5
$ bundle install
...
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
いい感じ。