Rails:我的应用程序如何判断它是在 MRI 还是 JRuby 中运行?
在上一个问题中,我问如何告诉我的 Gemfile是选择 JRuby 相关的 gem 还是 MRI 相关的 gem。我得到的答案是在 Gemfile 中执行以下操作:
platforms :jruby do
gem "activerecord-jdbcsqlite3-adapter"
end
platforms :mri do
gem "sqlite3"
end
显然,Bundler 中的platforms() 方法知道如何确定我正在运行 MRI 还是 JRuby。有没有其他方法可以在我的程序中判断我正在运行 JRuby 还是 MRI?
In a previous question, I asked how to tell my Gemfile whether to take the JRuby-relevant gems or the MRI-relevant gems. The answer I got was to do the following in the Gemfile:
platforms :jruby do
gem "activerecord-jdbcsqlite3-adapter"
end
platforms :mri do
gem "sqlite3"
end
Obviously, the platforms() method in Bundler knows how to figure out if I'm running MRI or JRuby. Is there another way I can tell within my program if I am running JRuby or MRI?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否能够像这样区分两者:
如果需要,您可以编写一个方法来为您提供
jruby?
方法:Are you able to distinguish between the two like this:
You could write a method to give you a
jruby?
method if required:使用 Ruby 2.2.3
Config::CONFIG
给我NameError: uninitializedconstant Config
,但以下方法有效:With Ruby 2.2.3
Config::CONFIG
gives meNameError: uninitialized constant Config
, but the following works: