【问题标题】:How do I update Ruby-interpreters with RVM?如何使用 RVM 更新 Ruby 解释器?
【发布时间】:2011-03-22 13:50:21
【问题描述】:

前段时间,我用几个版本的 Ruby 解释器安装了 RVM。 由于新版本已经发布,我该如何更新它?

我只找到了一种方法:rvm install 1.9.2-rc1 && rvm remove 1.9.2-preview1,但我的宝石丢失了。 我可以不时更新分支吗?我在文档中没有找到任何提示。

【问题讨论】:

  • 你能因为 rvm upgrade 命令改变接受的答案吗?

标签: ruby rvm


【解决方案1】:

当前的 rvm 版本提供了一种更简单的方法来执行此操作。 “升级”选项将迁移 gem 集、包装器和环境文件 -

$ rvm upgrade 1.9.2-p136 1.9.2-p180

要了解是否有更新的稳定版本的 ruby​​ 实现供您升级,首先获取最新版本的 RVM,然后枚举已知的 Ruby 版本。

$ rvm get stable
$ rvm list known

您可以比较系统上安装的 ruby​​ 版本

$ rvm list rubies

【讨论】:

  • 为了看到后面的 Ruby 版本,(似乎第一个必须)运行rvm get stable
【解决方案2】:

您可以通过以下方式安装最新的 rvm 和 ruby​​:

$ \curl -L https://get.rvm.io | bash -s stable --ruby

并检查所有 ruby​​ 版本的稳定性

$ rvm 列表已知

也可以在这里查看详细信息:http://www.ruby-lang.org/en/downloads/

$ rvm install ruby​​ 2.0.0-p247

当你想下载特定版本或知道这是稳定的时候使用。

【讨论】:

    【解决方案3】:

    有一个很棒的 RVM GUI,叫做 JewelryBox,我用它来管理我的 Ruby 版本

    http://jewelrybox.unfiniti.com

    【讨论】:

    • 读完后我检查了rvm.io,JewelryBox 被称为官方 RVM GUI(仅限 OS X 用户)。这是一个真正的帮助,谢谢。
    【解决方案4】:

    我认为是:

    rvm all do gemset update
    

    【讨论】:

      【解决方案5】:

      [编辑:rvm 有一个新的升级命令——你可能想使用 andy318 的答案]

      AFAIK,目前没有自动的方法可以做到这一点,但这样的事情可以让你保留你的宝石:

       rvm use 1.9.2-preview1
       rvm gemset export
       rvm install 1.9.2-rc1
       rvm use 1.9.2-rc1
       rvm gemset import
       rvm remove 1.9.2-preview1
      

      现在,为了自动更新,您必须检测版本更改,这很容易,因为您可以简单地使用 rvm use 1.9.2 的返回值。找出新版本是什么 (1.9.2-rc1) 是不必要的,因为它的别名是 1.9.2。诀窍是找到最新安装的 1.9.2 版本。您可以在 cron 作业中执行以下操作:

      # make sure you source rvm first
      rvm update --head
      rvm reload
      if [ ! rvm use 1.9.2 ]; then
        for ruby_version in `rvm list strings`; do
          # find the latest version of 1.9.2
          case $ruby_version in
            ruby-1.9.2-*) latest192=$ruby_version;;
          esac
        done
        rvm use $latest192
        rvm gemset export 192.gems
        rvm install 1.9.2
        rvm use 1.9.2
        rvm gemset import 192
        rvm remove $latest192
      fi
      

      没有尝试过,但我的更新脚本中有类似的代码。我还加入了gem update 和其他东西。

      欢迎访问 Freenode 上的#rvm IRC 频道。

      【讨论】:

      • 使用 rvm upgrade 代替,见下文。
      【解决方案6】:

      使用rvm upgrade 1.9.2-preview1 1.9.2-rc1 命令或观看此screencast

      【讨论】:

      • 我的 1.9.2-preview1 的 gemset 会发生什么
      • 根据rvm help upgradeWill migrate gemsets, wrappers, aliases and environment files.
      • 此外,RVM 的当前版本按预期顺序升级 rvm upgrade [source ruby] [destination ruby]。韦恩解决了这个问题:)
      • rvm upgrade 是推荐的方式,所以这应该是公认的答案。
      • 截屏视频看起来有点过时了,现在您将其运行为:rvm upgrade from to 而不是之前的 to -> from。
      猜你喜欢
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-02
      • 2012-01-29
      • 2010-09-27
      相关资源
      最近更新 更多