我不久前在RVM上安装了几个版本的Ruby解释器.我如何更新它,因为新版本已经发布?
我发现只有一种方式:rvm install 1.9.2-rc1 && rvm remove 1.9.2-preview1但我的宝石丢失了.我可以不时更新分支机构吗?我没有在文档中找到任何提示.
Kon*_*ase 25
[编辑: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
Run Code Online (Sandbox Code Playgroud)
现在,为了自动更新,您必须检测版本更改,这很容易,因为您只需使用返回值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
Run Code Online (Sandbox Code Playgroud)
没试过,但我的更新脚本中有类似的代码.我也溜进了gem update其他东西.
欢迎访问Freenode上的#rvm IRC频道.
and*_*318 21
当前的rvm版本提供了一种更简单的方法.'upgrade'选项将迁移gem集,包装器和环境文件 -
$ rvm upgrade 1.9.2-p136 1.9.2-p180
Run Code Online (Sandbox Code Playgroud)
要查看是否有更新的稳定版本的ruby实现供您升级,请先获取最新版本的RVM,然后枚举已知版本的Ruby.
$ rvm get stable
$ rvm list known
Run Code Online (Sandbox Code Playgroud)
您可以将此系统上安装的ruby版本进行比较
$ rvm list rubies
Run Code Online (Sandbox Code Playgroud)