RVM wird über »~/.rvmrc
«
bzw »/etc/rvmrc
«
konfiguriert. Die Konfiguration ist optional, ermöglicht aber das Setzen spezifischer Compiler-Flags und Pfadangaben. Eine Liste möglicher Optionen liefert die Datei »~/.rvm/examples/rvmrc
«
. Interessanter ist der Einsatz projektspezifischer ».rvmrc
«
-Konfigurationen. Der eingangs erwähnte RVM-Bootstrapper für Bash und Zsh lädt nicht nur »rvm
«
, sondern prüft bei jedem Verzeichniswechsel, ob im aktuellen Verzeichnis eine ».rvmrc
«
-Datei vorhanden ist und bietet nach einmaliger Prüfung an, diese automatisch zu laden.
Die entsprechende Datei ».rvmrc
«
kann bereits bei Erstellung eines Gem-Sets automatisch im aktuellen Ordner geschrieben werden: »rvm --rvmrc --create 1.9.2@projekt3
«
. Beim ersten Wechsel in das Verzeichnis muss einmalig die Vertrauenswürdigkeit der Datei bestätigt werden. Danach löst jeder Wechsel in das Verzeichnis einen automatischen Wechsel in die entsprechende Ruby-Version und das Gem-Set aus. Für Entwickler ergibt sich so eine einfache Möglichkeit, durch eine gemeinsam bearbeitete ».rvmrc
«
Ruby-Version den Namen des Gem-Sets für alle am Projekt Beteiligten bekanntzumachen. Neue Entwickler erhalten automatisch die richtige Version. Einziger Nachteil ist, dass nur Gem-Sets automatisch erstellt werden – eventuell nicht vorhandene Ruby-Versionen müssen einmalig per »rvm install
«
nachinstalliert werden.
Letztlich handelt es sich bei der ».rvmrc
«
nur um ein Bash-Skript. Ein Blick in die automatisch erstellte Datei zeigt, dass hier mit Umgebungsvariablen und Shell-Logik gearbeitet wird. Es bietet sich also an, innerhalb der ».rvmrc
«
weitere Umgebungsvariablen zu setzen oder das RVM-Bootstrapping weiter ans Projekt anzupassen, um zum Beispiel die Verwendung von 32- oder 64-Bit-Versionen eines Ruby-Interpreters sicherzustellen.
Benutzt man auf Ruby und Rubygems aufbauende Dienste wie Passenger, ist der Einsatz von RVM teils nicht ganz trivial [7]. Je nach verwendeter Software muss geprüft werden, wie RVM eingebunden werden kann. Hilfreich ist oft die Verwendung absoluter Pfadangaben zu Ruby-Interpretern. Für jede Ruby-Version legt RVM symbolische Links an, die direkt aufrufbar sind. »rvm info
«
zeigt die entsprechenden Pfadangaben. Auch, wenn Pfadangaben wie »/home/ccm/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
«
ungewohnt aussehen, verweisen sie auf eine vollständige Ruby-Installation.
Das Laden von Gem-Sets wird je nach Dienst über Umgebungsvariablen, Start-Skripte oder weitere Bootstrapper geregelt. Für Passenger und Rails3 kann zum Beispiel eine Datei »config/setup_load_paths.rb
«
im Rails-Projekt die entsprechenden Pfade setzen.
Für den täglichen Einsatz von RVM gibt es weitere hilfreiche Skripte. Soll ein Befehl per »sudo
«
unter Beibehalten der aktuellen RVM-Umgebung ausgeführt werden, kann »rvmsudo
«
als Wrapper genutzt werden. Für den Einsatz in Shellskripten bietet »rvm-shell
«
als RVM-Bash-Wrapper die Möglichkeit, auch für nicht-interaktive Sitzungen den Einsatz von ».rvmrc
«
-Dateien zu ermöglichen. Für Cronjobs bietet sich zum Beispiel an, die Variable »SHELL
«
auf die entsprechende RVM-Shell zu setzen, sodass Skripte korrekt ausgeführt werden.