加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用rbenv安装最新的稳定版本的Ruby

发布时间:2020-12-16 22:14:12 所属栏目:百科 来源:网络整理
导读:我想安装最新的稳定版本的 Ruby可用 rbenv.这个功能 won’t be happening在rbenv本身. 当我在我的shell中运行命令rbenv install -l时,我可以得到很长的可用版本列表.该列表具有所有类型的条目.以下是展示格式和多样性的部分列表: $rbenv install -lAvailabl
我想安装最新的稳定版本的 Ruby可用 rbenv.这个功能 won’t be happening在rbenv本身.

当我在我的shell中运行命令rbenv install -l时,我可以得到很长的可用版本列表.该列表具有所有类型的条目.以下是展示格式和多样性的部分列表:

$rbenv install -l
Available versions:
  2.0.0-p643
  2.0.0-p645
  2.1.0-dev
  2.1.0-preview1
  2.1.0-preview2
  2.1.0-rc1
  2.1.4
  2.1.5
  2.1.6
  2.2.0-dev
  2.2.0-preview1
  2.2.0-preview2
  2.2.0-rc1
  2.2.0
  2.2.1
  2.2.2
  2.3.0-dev
  jruby-1.7.19
  jruby-1.7.20
  jruby-9.0.0.0-dev
  jruby-9.0.0.0+graal-dev
  jruby-9.0.0.0.pre1
  jruby-9.0.0.0.pre2
  maglev-1.0.0
  maglev-1.1.0-dev
  maglev-2.0.0-dev
  mruby-dev
  mruby-1.0.0
  mruby-1.1.0
  rbx-2.5.2
  rbx-2.5.3
  ree-1.8.7-2011.12
  ree-1.8.7-2012.01
  ree-1.8.7-2012.02
  topaz-dev

我的目标是自动化命令rbenv install VERSION在一个shell脚本,其中VERSION是最高的x.x.x版本.换句话说,我需要自动替换列表中以数字开头的最高条目,而不是以VERSION结尾.从这个列表中我需要2.2.2.

我可以在我的shell脚本中自动选择命令rbenv install x.x.x中最高的x.x.x版本?

编辑:由于Ruby尚未安装,解决方案必须在Bash中,而不是Ruby.

编辑2:我想要的是MRI(主流)版本的Ruby.

解决方法

rbenv install -l | awk -F '.' '
   /^[[:space:]]*[0-9]+.[0-9]+.[0-9]+[[:space:]]*$/ {
      if ( ($1 * 100 + $2) * 100 + $3 > Max ) { 
         Max = ($1 * 100 + $2) * 100 + $3
         Version=$0
         }
      }
   END { print Version }'

采取最大的版本(排序顺序或不排序)

如果列表被排序,一个更简单的sed(posix版本)就足够了

rbenv install -l | sed -n '/^[[:space:]]*[0-9]{1,}.[0-9]{1,}[[:space:]]*$/ h;${g;p;}'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读