Select Page

Ein Ruby, mehrere Rubies – Ruby Version Manager

by | Jul 26, 2011 | Linux, Development, Betriebssysteme

Ruby Version Manager (RVM) ist eine, hauptsächlich in Bash geschriebene, Versionsverwaltung diverser Ruby Versionen und zugehörigen Gems. Es ermöglicht die Nutzung verschiedener Ruby- und Gemversionen für unterschiedliche komplexe Projekte. Es werden beispielsweise nur Gems installiert, die ein individuelles Projekt benötigt, um ein mögliches späteres debuggen zu erleichtern. Außerdem können Projekte einfach und schnell in unterschiedlichen Ruby-Versionen getestet werden, oder auch bei Upgrades einzelner Gems kann schnell eine parallele unabhängige Testumgebung erstellt werden, ohne das Produktivsystem zu beeinflussen.
Die verschiedenen Ruby-Versionen und deren Gems werden in einer Multi-User-Installation z.B. unter /usr/local/rvm/{rubies,gems}/{ruby-1.8.7,ruby-1.9.2-p290}/ abgelegt und somit sauber voneinander getrennt. Der Wechsel zu einer anderen Version wird durch die Manipulation der “PATH” Variable im Bash-Enviroment vollzogen. Als Anwender setzt man hierfür lediglich das Kommando ‘rvm use 1.9.2’ ab.
Um zusätzliche Ruby-Versionen zu installieren, ist es ähnlich einfach: ‘rvm install 1.9.3’ Hierbei wird auf das Ruby-Git-Repository zurückgegriffen, das Stable-Release der angegebenen Version heruntergeladen, anschließend kompiliert und unter /usr/local/rvm installiert. Damit das auch reibungslos funktioniert, müssen vorher noch einige Entwicklungs-Bibliotheken und Build-Werkzeuge installiert werden. Unter Debian z.B. die Pakete ‘build-essential’, ‘libssl-dev’ und einige mehr und natürliche auch ‘curl’ und ‘git’, damit das Herunterladen des Repos und der Skripte klappt. Sämtliche Abhängigkeiten sind in der recht übersichtlichen RVM-Dokumentation gelistet: https://rvm.beginrescueend.com
Die eigentliche Installation von RVM geht schnell von der Hand. Es muss nur das Installationsskript ausgeführt werden: ‘bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)'
Die Funktionsweise kann nach der Installation von RVM wie folgt getestet werden:

$ rvm install 1.9.2
# rvm use 1.9.2
Using /usr/local/rvm/gems/ruby-1.9.2-p290
# ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
# which ruby
/usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby
$ rvm use system
# ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]
# which ruby
/usr/bin/ruby
Sebastian Saemann
Sebastian Saemann
CEO Managed Services

Sebastian kam von einem großen deutschen Hostingprovider zu NETWAYS, weil ihm dort zu langweilig war. Bei uns kann er sich nun besser verwirklichen, denn er leitet das Managed Services Team. Wenn er nicht gerade Cloud-Komponenten patched, versucht er mit seinem Motorrad einen neuen Rundenrekord aufzustellen.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

More posts on the topic Linux | Development | Betriebssysteme

Mein PHP-Trainingsprojekt

PHP Schulung Vor kurzem haben wir begonnen, eine neue Programmiersprache zu lernen – PHP. In der ersten Woche haben wir mit den Grundlagen wie Variablen, Arrays, Schleifen begonnen und uns schrittweise zu komplizierterer Syntax wie Funktionen, Objekten und Klassen...