Rubinius kann vom Quellverzeichnis aus gebaut und ausgeführt werden. Es muss nicht systemweit installiert werden um laufen zu können. Die untenstehende Anleitung beschreibt die Installation von Rubinius sowie das Ausführen aus dem Quellverzeichnis.
Rubinius nutzt LLVM für den eingebauten JIT (Just-in-time)
Compiler. Dabei hängt Rubinius von einer speziellen Version von LLVM
ab und setzt voraus, dass LLVM mit C++ RTTI (run-time type
information) Unterstützung gebaut wurde. Das configure Skript wird
automatisch diese Voraussetzungen überprüfen, wenn es nach einer
installierten Version von LLVM im System sucht. Falls du LLVM
installiert hast und die Voraussetzungen nicht erfüllt sind
bzw. Rubinius nicht korrekt mit der installierten Version von LLVM
kompiliert, kannst du --skip-system als Kommandozeilenflag beim
Aufruf des configure Skripts angeben. Dadurch wird automatisch die
korrekte Version von LLVM heruntergeladen und zusammen mit Rubinius
kompiliert.
Der Rubinius Quellcode ist als Tarball und als Projekt auf Github verfügbar. Der Tarball kann hier heruntergeladen werden.
Um Git zu nutzen:
git clone git://github.com/evanphx/rubinius.gitFalls du vor hast Rubinius zu nutzen um deine Anwendung damit auszuführen, ist dies der präferierte Weg. Allerdings kannst du Rubinius auch direkt aus dem Quellverzeichnis ausführen. Mehr dazu im nächsten Abschnitt.
Wir empfehlen Rubinius in ein Verzeichnis zu installieren, bei der man
weder sudo noch superuser Rechte braucht. Um Rubinius zu
installieren befolge folgende Schritte:
./configure --prefix=/path/to/install/dirrake installFür die Entwicklung an Rubinius selbst sollte diese Option gewählt werden.
./configurerakeFalls du nur Rubinius ausprobieren möchtest, folge den Anweisungen um das bin Verzeichnis deinem PATH hinzuzufügen.
Falls du hingegen an Rubinius mitentwickeln willst, sollte das bin Verzeichnis nicht deinem PATH hinzugefügt werden, da Rubinius einen eigenständigen Ruby Interpreter benötigt um korrekt den bootstrap Prozess während des Bauvorgangs durchführen zu können.