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.git
Falls 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/dir
rake install
Für die Entwicklung an Rubinius selbst sollte diese Option gewählt werden.
./configure
rake
Falls 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.