如何使用 RVM 更新 Ruby 解释器?

Posted

技术标签:

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

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

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

【问题讨论】:

你能因为 rvm upgrade 命令改变接受的答案吗? 【参考方案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。

以上是关于如何使用 RVM 更新 Ruby 解释器?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 rvm 将我的 ruby​​ 1.9.2-p0 升级到最新的补丁级别?

如何使用 RVM 更改我的 Ruby 版本?

如何配置 capistrano 以使用我的 rvm 版本的 Ruby

如何在没有 RVM 的 Ubuntu 上安装 Ruby 2

如何使用 rvm 在 OS_X 10.9 上安装 ruby​​ 2.1.0? (没有可用的二进制红宝石:osx/10.9/x86_64/ruby)

如何在Mac OS X上安装 Ruby运行环境