Bundler DSL用于指定多个ruby引擎及其版本

时间:2016-11-18 20:37:50

标签: ruby bundler

假设您有一个项目只想支持JRuby~> 9.1.6.0和Ruby(MRI)〜> 2.3.1,目前是否有Bundler DSL语法来实现这一目标? Ruby条件不起作用,因为它们会创建一个不确定的错误Gemfile.lock

1 个答案:

答案 0 :(得分:2)

根据Bundler docs,您可以使用platform。这是一个例子:

gem "weakling",   :platforms => :jruby
gem "ruby-debug", :platforms => :mri_18
gem "nokogiri",   :platforms => [:mri_18, :jruby]

您也可以使用一个块。这可能与您更相关:

platforms :jruby do
  # Gems
end

platforms [:mri_18, :jruby] do
  # Gems
end

我知道你所要求的并不是 ,但似乎这是一个充分的方法。如果这对你不起作用,那么不幸的是我不相信有办法通过Bundler将ruby版本列入白名单