Ruby aktualisieren mit rbenv

Die Aktualisierung einer Entwicklungsumgebung ist mit allen Abhängigkeiten und Werkzeugen meist keine einfache Sache. Für Ruby steht einem für diese Aufgabe das äusserst praktische Werkzeug rbenv zur Verfügung. Dies kümmert sich um alle Abhängigkeiten und führ die Pfad-Variablen automatisch nach. Es gibt allerdings einen kleinen Stolperstein, der einem unnötig viel Zeit kosten kann.

 

Voraussetzung

Um mit rbenv arbeiten zu können muss man darüber einmalig seine Ruby-Umgebung installieren. Im GitHub Repository von rbenv gibt es eine sehr gute Anleitung, die einem auch alle Spezialfälle erklärt.

 

Spezifische Ruby Version installieren

Läuft rbenv kann man auf der Kommandozeile die gewünschte Ruby Version sehr einfach installieren. Alles was es dazu braucht ist dieser Befehl:

$ rbenv install 2.1.0

Gibt man statt einer Version den Parameter –l an, wird einem eine Liste aller bekannten Versionen angezeigt:

$ rbenv install -l

 

Gewünschte Version fehlt?

Nur Versionen, die rbenv bekannt sind, können damit installiert werden. Fehlt die gewünschte Ruby Version gilt es daher erst einmal mittels Git rbenv zu aktualisieren:

$ cd ~/.rbenv
$ git pull

Damit ist allerdings nur rbenv auf dem neusten Stand. Durch die verwendete Plug-In Architektur wird die Installation von Ruby über das Plug-In ruby-build abgewickelt. Da dies in einem eigenen Git-Repository liegt, muss dies separat aktualisiert werden:

$ cd ~/.rbenv/plugins/ruby-build
$ git pull

Für die meisten Benutzer dürfte diese separate Aktualisierung ein Stolperstein sein. Kennt man den internen Aufbau von rbenv ist dieses 2. git pull kein Problem. Andernfalls sucht man auch mal eine Stunde nach einer Lösung…
Sobald beide Teile von rbenv aktuell sind, kann man wiederum ganz einfach die neuste Ruby Version installieren:

$ rbenv install 2.2.3
$ rbenv global 2.2.3

Der 2. Befehl wählt die neu installierte Version 2.2.3 aus und aktualisiert alle Pfadangaben. Ohne diesen expliziten Aufruf nutzt man immer noch die alte (Ruby) Version.

 

Fazit

Die zwei separaten Updates sind zwar keine grosse Sache, allerdings dauert es seine Zeit bis man darauf kommt. Trotz dieser Unschönheit ist rbenv eine massive Erleichterung bei der Verwaltung einer Ruby-Installation.