如何使用 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 upgrade
:Will 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 升级到最新的补丁级别?
如何配置 capistrano 以使用我的 rvm 版本的 Ruby
如何使用 rvm 在 OS_X 10.9 上安装 ruby 2.1.0? (没有可用的二进制红宝石:osx/10.9/x86_64/ruby)