【问题标题】:How to use any patchlevel of Ruby with .ruby-version - rbenv/rvm如何通过 .ruby-version 使用任何补丁级别的 Ruby - rbenv/rvm
【发布时间】:2013-07-11 08:59:03
【问题描述】:

rbenvRVM 都支持使用.ruby-version 文件来指定项目文件夹中的Ruby 版本。我只想定义没有补丁级别的版本。

我尝试使用 Ruby 1.9.3 的任何补丁级别进行以下定义,但均未奏效:1.9.31.9.3-p*

我知道rbenv-aliasesrvm alias,但是如果没有它们,是否可以做到这一点?

给 Rails 用户的提示:

您可以添加到您的 Gemfile:

ruby '1.9.3'  

如果您尝试使用不同的版本运行您的应用程序,则会发出警告。

【问题讨论】:

    标签: ruby-on-rails ruby rvm rbenv


    【解决方案1】:

    RVM

    运行:

    rvm list known
    

    它将显示最常用的版本,例如:

    [ruby-]2.0.0[-p247]
    

    这意味着这些字符串中的任何一个都将匹配ruby-2.0.0-p247

    • ruby-2.0.0
    • 2.0.0
    • 2.0.0-p247

    如果您需要匹配任何其他2.0.0,例如2.0.0-p195,请使用完整版2.0.0-p195 或使用--fuzzy 标志:

    rvm use --fuzzy .
    

    . 用于当前目录 - 它会从当前目录加载 ruby​​。

    还可以通过以下方式记住--fuzzy 标志:

    echo rvm_fuzzy_flag=1 >> ~/.rvmrc
    

    rbenv

    据我所知,rbenv 具有严格的版本匹配,您需要指定安装 ruby​​ 的完整目录名称。

    chruby

    默认情况下进行模糊匹配,并且匹配已安装的 ruby​​ 字符串的任何部分。

    【讨论】:

      【解决方案2】:

      使用rvm,您可以使用:

      # in .ruby-version
      ruby-1.9.3
      

      您需要 ruby​​ 前缀来指定要使用的解释器。

      【讨论】:

      • 它使用 rvm 版本 1.20.5 工作,但我必须承认我不使用 rbenv,因此没有尝试过使用它。如果两者之间的功能相同,那将是一件好事,但实际上取决于包是否支持语法。也许应该用 rbenv 打开一个问题?
      • @joonyt 我明白了。好吧,我已经用rbenv 试过了。是的,也许我会打开一个问题。我已经编辑了你的答案,所以访问者会看到那是 rvm 特定的......如果你同意的话。
      • @burninggramma 没问题 :)
      猜你喜欢
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多