【发布时间】:2014-03-29 19:10:39
【问题描述】:
根据https://blog.heroku.com/archives/2012/5/9/multiple_ruby_version_support_on_heroku,我想利用heroku 功能在Gemfile 中指定我的Ruby 版本。但是,虽然我想在 heroku 上运行 JRuby,但我希望能够在 CRuby 上进行一些开发。问题是当我的.ruby-version 文件中的 ruby 规范与 Gemfile 中的不同时,每当我尝试运行任何东西时,我都会收到以下投诉:
Your Ruby engine is ruby, but your Gemfile specified jruby
有什么方法可以避免这个问题,而无需在 CRuby 中修改我的 Gemfile?特别是,我可以在 Gemfile 中指定 ruby 的条件,以使这种抱怨在开发过程中消失,但它仍然会对 heroku 生效(也不会弄乱 travis)。
我尝试将 gem 规范限制为生产组:
group :production do
ruby ruby '1.9.3', engine: 'jruby', engine_version: '1.7.9'
end
但这对开发没有影响。
更新:意识到 Gemfile 是“只是 ruby”,我插入了一个标准的 ruby if 语句,基于我看到的环境变量存在于 Heroku 但在其他地方不可用(即DYNO),但我仍然对是否有一种更主流的方法感兴趣。
【问题讨论】:
标签: ruby heroku rvm jruby bundler