Установите рубиновую версию в Gemfile

Я могу установить версию ruby ​​в Gemfile следующим образом:

ruby '2.0.0'

Но что, если я хочу иметь определенную версию как 2.0.0-p353?

Когда я добавляю его в Gemfile, я получаю:

Your Ruby version is 2.0.0, but your `Gemfile` specified 2.0.0-p353

Можно ли даже установить определенную версию?

Ответы

Ответ 1

В версии 1.3 и более ранней версии Bundler вы не могли указать уровень патча:

Директива ruby явно не позволяет указать уровень патча. Патчи Ruby часто включают важные ошибки и исправления безопасности и чрезвычайно совместимы.

Это изменилось в версии 1.5, теперь говорят docs:

В директиве ruby :patchlevel является необязательным, так как выпуски уровня обновления обычно совместимы и включают важные исправления безопасности. Опция patchlevel проверяет константу RUBY_PATCHLEVEL, и если она не указана, пакетщик просто игнорирует ее.

Итак, вы можете указать патч-уровень следующим образом:

ruby '2.0.0', :patchlevel => '353'

Ответ 2

Если кто-то хочет напомнить, как НЕ указывать второстепенную версию (да, назовите меня noob), вы можете сделать:

ruby ">=2.2"

который позволил бы вызов "bundle install" с ruby ​​2.2.4.