如何根据当前的RVM在Gemfile中选择特定的gem?

时间:2011-08-31 14:48:46

标签: jruby rvm

如何根据当前使用的Ruby VM有条件地选择使用哪个gem?

理想情况下,我想要像:

if [using jruby]
    gem 'jruby-openssl'

如果使用的RVM是JRuby,这只需要jruby-openssl。

2 个答案:

答案 0 :(得分:12)

在Gemfile中使用以下内容,如下所示:https://github.com/jruby/activerecord-jdbc-adapter

platforms :ruby do
  gem 'sqlite3'
end

platforms :jruby do
  gem 'jruby-openssl'
  gem 'activerecord-jdbcsqlite3-adapter'
end

答案 1 :(得分:4)

试图在这里回答我自己的问题。

我们可以使用以下Gemfile指令来执行此操作:

if defined?(JRUBY_VERSION)
  gem 'jdbc-sqlite3'
else
  gem 'sqlite3'
end