Ich möchte die neueste stabile Version von Ruby mit rbenv installieren. Dieses Feature won't be happening in Rbenv selbst.Installation der letzten stabilen Version von Ruby mit rbenv
Wenn ich den Befehl rbenv install -l
in meiner Shell ausführen, erhalte ich eine lange Liste der verfügbaren Versionen. Die Liste enthält alle Arten von Einträgen. Die folgende ist eine unvollständige Liste das Format und die Vielfalt zu demonstrieren:
$ 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
Mein Ziel ist es, den Befehl rbenv install VERSION
in einem Shell-Skript zu automatisieren, wo VERSION
ist die höchste x.x.x
Release. Mit anderen Worten, ich muss automatisch den höchsten Eintrag in der Liste ersetzen, der mit einer Nummer beginnt und nicht mit -something
in VERSION
endet. Aus dieser Liste brauche ich 2.2.2
.
Was kann ich in mein Shell-Skript eingeben, um automatisch die höchste x.x.x
Version im Befehl rbenv install x.x.x
auszuwählen?
Bearbeiten: Da Ruby noch nicht installiert ist, muss die Lösung in Bash und nicht Ruby sein.
Edit 2: Ich möchte die MRI (Mainstream) Version von Ruby.
Es scheint mir, Sie wollen nur die letzte in der Liste, die mit einer Nummer beginnt (da Sie anscheinend MRI wollen) und nicht 'pre', 'dev' oder' rC# 'in seinem Namen). So etwas würde funktionieren: 'lines.reverse_each.find {| version | version = ~/^ \ d/&& version! ~/pre | dev | rc \ d /} ' –
(Ich kann nicht garantieren, dass das immer funktioniert, aber vielleicht hilft es Ihnen, damit anzufangen. Wenn Sie neugierig sind Wie Ruby-Build die Liste sortiert, können Sie es hier sehen: https://github.com/sstephenson/ruby-build/blob/master/bin/ruby-build#L1012) –
Dank @Jordan für die Kommentare. Ich brauche das Ergebnis in Bash, da Ruby noch nicht installiert ist. Der Sortieralgorithmus ist großartig zu wissen, danke für das Aufzeigen. –