j如何判断我使用的是哪个 Ruby 解释器?



我已经看过这个线程,但是我的问题可能更基本:

鉴于该线程中接受的答案[1]中的答案是给我的,"/Users/username/.rvm/rubies/ruby-2.3.0/bin/ruby",我怎么知道这是否是MRI,JRUBY等?如果每个主要的口译员都是其他主要口译员会是什么样?


[1]节省几秒钟,RbConfig.ruby

如今,所有主流红宝石实现都设置了 RUBY_ENGINE pseudo-contant。我可以记住的各种实现的值是:

  • Rubinius:rbx
  • jruby: jruby
  • Truffleruby:truffleruby
  • opal: opal
  • mruby: mruby
  • yarv:令人困惑, ruby
  • MRI:更令人困惑, ruby
  • Maglev:maglev
  • Ironruby:ironruby
  • macruby:macruby
  • topaz: topaz

基于红宝石费用中的线程,这项工作与 Ruby

irb(main):010:0> RbConfig.ruby
=> "/Users/<user>/.rbenv/versions/2.1.2/bin/ruby"
irb(main):011:0> RbConfig::CONFIG["RUBY_INSTALL_NAME"]
=> "ruby"

JRuby

RbConfig.ruby
=> "/Users/<user>/.rbenv/versions/jruby-9.1.8.0/bin/jruby"
irb(main):008:0> RbConfig::CONFIG["RUBY_INSTALL_NAME"]
=> "jruby"

根据您如何安装不同的Ruby版本,您可以用户使用安装路径中的差异(JRuby具有前缀)或使用RbConfig::CONFIG["RUBY_INSTALL_NAME"]

查看所有配置密钥类型:

RbConfig::CONFIG.keys

相关内容

  • 没有找到相关文章

最新更新