Diejenigen, die mit der Softwareentwicklung nicht vertraut sind, mögen überrascht sein, wie viele sogenannte Grauzonen es geben kann. Selbst wenn Sie wissen, dass Sie beispielsweise eine Rails-App schreiben möchten, müssen Sie einige spezifischere Entscheidungen treffen. Welche Datenbank sollten Sie verwenden? Welche Version von Ruby? Welche Edelsteine ​​sollen installiert werden? Wird es mit anderen Ruby-Versionen oder Edelstein-Sets in Konflikt geraten? RVM, der Ruby Version Manager, kann dafür sorgen. Mit RVM können Sie Ruby-Versionen im laufenden Betrieb installieren, verwalten und wechseln, sodass Sie Software in mehreren Ruby-Versionen problemlos entwickeln und testen können. Dieser Leitfaden zeigt Ihnen, wie Sie RVM auf Ubuntu installieren und damit Ihre Ruby-Umgebung verwalten können.

Hinweis : Dies ist kein "How To Code Ruby" -Artikel, sondern nur die Verwendung von RVM zur Verwaltung Ihrer Ruby-Installationen.

Wie es funktioniert

Das am häufigsten verwendete RVM-Setup sieht ungefähr so ​​aus: Ein Benutzer installiert RVM als eine Anwendung, entweder systemweit oder zu Hause. Durch RVM werden die vom Benutzer gewählten Ruby-Versionen automatisch in das Heim des Benutzers installiert. Mithilfe von RVM-Befehlen gibt der Benutzer an, welche Version zu einem bestimmten Zeitpunkt aktiv sein soll. Alle während dieser Zeit an Ruby getätigten Aufrufe werden an die entsprechende ausführbare Ruby-Datei weitergeleitet und normal ausgeführt. Es gibt keine Virtualisierung oder komplexe Wrapper oder Chroots, um die man sich kümmern muss. Es handelt sich mehr oder weniger um eine clevere Reihe von Symlinks und Umgebungsvariablen, die alle Ruby-Aufrufe an die gewählte Version richten.

Installation

Zuerst brauchen wir ein paar Voraussetzungen. Ihre Standard-Ubuntu-Installation sollte viel von dem enthalten, was benötigt wird, aber einige benötigte Pakete fehlen möglicherweise. Um RVM ordnungsgemäß zu erstellen, installieren Sie die folgenden Pakete von Ubuntu Software Center oder von der Befehlszeile mit:

 sudo apt-get install git build-essential bison openssl libreadline6 libreadline6-dev locken git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev 

Dies bereitet unser System vor, um RVM und Ruby korrekt zu erstellen und zu installieren. Wir müssen nicht die übliche Konfiguration / make-Routine auf diesem einen tun, da RVM ein einfaches Build-Skript enthält, das die Arbeit für Sie erledigen sollte. Sobald alle oben genannten Abhängigkeiten installiert sind, führen Sie Folgendes über die Befehlszeile aus:

 bash <<(curl http://rvm.beginrescueend.com/releases/rvm-install-head) 

Dies wird die Quelle holen und eine nette Nachricht von RVMs Entwickler liefern.

Eine Ruby-Version hinzufügen

An dieser Stelle haben Sie RVM, aber keine brauchbare Ruby-Installation, um damit zu arbeiten. Die Installation von RVM ist so einfach wie ein einzelner Shell-Befehl. Im ersten Beispiel installieren wir die stabile Version 1.8.7 aus der Quelle mit einem RVM-Befehl:

 rvm installieren 1.8.7 

RVM wird den gesamten Prozess einschließlich Konfiguration, Kompilierung und Installation von RubyGems übernehmen.

Nach der Installation

Sobald das abgeschlossen ist, müssen wir ein wenig Umgebung einrichten. Damit RVM Ruby-Aufrufe ordnungsgemäß abfangen kann, müssen wir die folgende Zeile zu .bashrc oder .bash_profile hinzufügen :

 [[-s "$ HOME / .rvm / scripts / rvm"]] &&. "$ HOME / .rvm / scripts / rvm" 

Starten Sie Ihre Shell neu und es sollte wirksam werden. Um zu testen, einfach eingeben

 Geben Sie rvm | Kopf -1 

Was sollte mit "rvm ist eine Funktion" antworten. Wenn nicht, ist etwas entlang der Linie gebrochen.

Ruby-Versionen verwalten

Jetzt, wo alles eingerichtet ist, können wir RVM tatsächlich nutzen! Angenommen, Sie haben Version 1.8.7 wie im obigen Beispiel installiert, können Sie mit wählen

 rvm verwenden 1.8.7 

RVM sollte Ihnen eine Antwort geben, die Ihre Wahl bestätigt und Ihnen den Speicherort der ausführbaren Ruby-Datei anzeigt. Dies kann später mit dem Standardsystem überprüft werden, welches Kommando.

Zusätzliche Versionen können auf die gleiche Weise installiert werden, und Edelsteine ​​können von RVM-Versionen genau wie bei einer normalen Ruby-Installation hinzugefügt und entfernt werden. Sie können Ihre Version spontan auswählen, um sicherzustellen, dass Ihre App wie gewünscht funktioniert, ohne sich über Konflikte und Umgebungskonflikte Gedanken zu machen. Genießen!