【发布时间】:2014-01-08 16:14:38
【问题描述】:
我需要在生产环境中在 JRuby 上运行我的应用程序以运行本机线程来提高我的应用程序的处理能力。
但是,在开发时,我宁愿不支付 VM 的启动成本,因为我不需要额外的处理能力来开发应用程序。
根据 Heroku 的指示,我在 Gemfile 中使用 ruby '1.9.3', engine: 'jruby', engine_version: '1.7.1'
指令来提醒他们我计划使用 JRuby。
有没有一种方法可以指示捆绑程序仅在我在暂存或生产环境中运行应用程序时使用 JRuby,否则只运行 MRI?
类似:
IF I AM IN PRODUCTION OR STAGING
ruby '1.9.3', engine: 'jruby', engine_version: '1.7.1'
ELSE
ruby '2.0.0', patch_level: 353
END
【问题讨论】:
-
我强烈建议不要在开发中使用与生产中不同的 Ruby 解释器运行。 MRI 和 JRuby 之间的兼容性很好,但并不完美,如果您等到 staging 才发现不兼容性,您最终可能会遇到一些难以诊断的非常微妙的错误,尤其是在多线程方面。
标签: ruby jruby bundler gemfile