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:
Gibt man statt einer Version den Parameter –l
an, wird einem eine Liste aller bekannten Versionen angezeigt:
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:
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:
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:
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.