代码之家  ›  专栏  ›  技术社区  ›  Daniel Vandersluis

从Rails中确定Ruby版本

  •  76
  • Daniel Vandersluis  · 技术社区  · 15 年前

    有没有一种方法可以确定Ruby的哪个版本在Rails中运行(在Web上或通过 script/console )?我安装了Ruby1.8.6,但我也安装了RubyEnterpriseEdition1.8.7-20090928,并希望确保它使用正确的安装。

    4 回复  |  直到 10 年前
        1
  •  148
  •   Kopernik VonC    15 年前

    使用顶级常量

    RUBY_VERSION
    

    其他有用的顶级常量包括

    RUBY_PATCHLEVEL
    RUBY_PLATFORM
    RUBY_RELEASE_DATE
    

    下面是一个IRB会话:

    irb(main):001:0> RUBY_VERSION
    => "1.8.7"
    
        2
  •  12
  •   Mark Westling    15 年前

    试试稳定的Ruby_版本。我广泛使用它来确定我是在1.8还是JRuby下运行。

    另外,如果您不在生产模式下,您可以通过点击url“/rails/info/properties”快速检查。

        3
  •  10
  •   averell    15 年前

    除了Ruby_版本常量和朋友之外,您可能还需要签出config::config。这个哈希不仅包含版本号,还包含大量其他有用的运行时信息,比如二进制文件的路径、主机名等等。

        4
  •  7
  •   KomodoDave    10 年前

    使用 RUBY_VERSION 正如其他人提到的。

    然后你可以使用 Gem::Version 要执行版本字符串比较:

    require 'rubygems' # Only needed for ruby pre-1.9.0 but it's safe for later versions (evaluates to false).
    if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('1.9.0')
        extend DL::Importable                                    
    else                                                         
        extend DL::Importer                                      
    end