senäh

17senäh und so…

Coding-Logo

Rails
03. Jan 2013
Kommentare: 0

Rails unter OS X Mountain Lion installieren

Kategorien: Rails | 03. Jan 2013 | Kommentare: 0

Um Rails installieren zu können, muss man vorher einen ganzen Batzen anderer Progrämmchen installieren. Das ist zugegebenermaßen ein klein wenig PITA, aber an sich halb so wild. Außerdem lernt man dabei eine Menge über das Betriebssystem und seine Komponenten.

Was meine ich mit “anderen Progrämmchen”? Damit wir die nächsten Blockbuster-Projekte auf Rails-Basis entwickeln können, müssen wir Rails erstmal installieren. Logisch. Dafür benötigen wir allerdings RVM, den Ruby Version Manager. Dieser wiederum benötigt Git um ordnungsgemäß zu funktionieren. Git installiert sich über Homebrew, einen Paketmanager für OS X. Und – nein, wir sind noch nicht “am Ende des Anfangs” angelangt – für’s Kompilieren der Paketdaten benötigen wir die Xcode Command Line Tools.

Wie man sieht: klassische Bottom-Up-Verarbeitung ;) Der Blogpost ist logischweise andersrum aufgebaut und den notwendigen Schritten entsprechend gegliedert:

  1. Xcode Command Line Tools
  2. Homebrew
  3. Git
  4. RVM und Ruby
  5. Rails

1. Xcode Command Line Tools

Xcode? Das ist doch diese reudige iOS-Entwicklungsumgebung. Was soll ich damit? Ich will Rails-Apps bauen! Lange Bärte und Open Source statt proprietärem Hipster-Müll!

Leider wird OS X ohne C-Compiler ausgeliefert. Den benötigen wir allerdings für Ruby. Darum müssen wir Xcode runterladen, am besten aus dem Mac App Store. Dabei handelt es sich um ein mehrere Gigabyte großes Programm. Der Download dauert dementsprechend (Fuck Yeah, Alliteration!). Gemessen daran, dass wir nur einen verkackten Compiler haben wollen, scheint das leicht übertrieben. Zurecht.

Aus meiner Erfahrung kann ich aber sagen, dass man an verschiedenen Stellen im System immer mal wieder auf die Notwendigkeit irgendwelcher Komponenten stößt, die mit Xcode automatisch kommen. Darum ist es prinzipiell keine schlechte Idee, den Spuk einmal herunterzuladen und zu installieren.

Wenn ihr Xcode startet, könnt ihr über die Einstellungen (⌘,) und Downloads die Command Line Tools installieren.

Command Line Tools über Xcode runterladen

Command Line Tools über Xcode runterladen

Um zu checken, ob bis hierhin alles gut läuft, einmal folgenden Befehl ins Terminal eingeben:

1
gcc --version

Das Terminal sollte eine Versionsnummer zusammen mit ein paar anderen Informationen ausspucken, in etwa so:

1
2
3
4
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Sollte das Terminal den Befehl nicht kennen, war eure Installation von Xcode bzw. vom GCC nicht erfolgreich.

Euer Gesicht, falls ihr hier schon feststeckt

Euer Gesicht, falls ihr hier schon feststeckt

Command Line Tools ohne Xcode

Man kann sich auch nur die Command Line Tools besorgen, was ich wie bereits gesagt, nur Fortgeschrittenen empfehle. Sucht mal hier (ihr müsst euch über eure Apple-ID einloggen) nach Command Line Tools.

Command Line Tools ohne Xcode runterladen

Command Line Tools ohne Xcode runterladen

DMG-Image downloaden und installieren.

2. Homebrew

Homebrew ist wie eingangs erwähnt ein Package-Manager für OS X. Dadurch sind diverse Open Source Programme einfach zu installieren, aktualisieren, warten, etc. Alles in allem eine nette Erfindung :D

Wie nett genau sieht man beispielsweise an der vergleichsweise einfachen Installation. Einfach folgenden Befehl ins Terminal eingeben:

1
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

Alles, was sonst zu tun ist, wird im Terminal stehen. Zwischen den einzelnen Schritten wird euch immer gesagt, was als nächstes getan wird und was ihr zu tun habt.

Bevor wir sicherstellen, dass die Installation erfolgreich war, noch ein weiter Terminal-Befehl:

1
sudo chown -R `whoami` /usr/local

Der sorgt dafür, dass das Verzeichnis, in welches Homebrew seine Programme installiert, beschreibbar ist. Für den reibungslosen Ablauf und so. Jetzt noch mit folgendem Befehl die Korrektheit der Installation prüfen:

1
brew doctor

Sollte alles ordnungsgemäß funktionieren, gibt’s Your system is raring to brew als Ausgabe.

Möglicher Fehler 1: falsche Reihenfolge in PATH

Sollte etwas auftauchen wie Warning: /usr/bin occurs before /usr/local/bin, müsst ihr folgenden Befehl eingeben:

1
echo 'export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile

Etwas Hintergrundwissen: die .bash_profile-Datei befindet sich (unsichtbar) in eurem Benutzerordner, insofern sie schon mal angelegt wurde. Alle darin enthaltenen Befehle werden beim Öffnen einer neuen Terminal Session ausgeführt. Praktisch, ne?

Was wir jetzt mit obigem Terminal-Befehl erreicht haben? Beim Öffnen eines neuen Terminal-Fensters ist sichergestellt, dass zuerst im “Benutzerpfad” (/usr/local/bin) und danach im Systempfad (/usr/bin) nach Bash-Programmen gesucht wird. So können wir z.B. sicherstellen, dass wir eine eigene (lies: aktuelle) Version von Ruby oder Git verwenden, statt die mit OS X oder Xcode Ausgelieferte.

Möglicher Fehler 2: fehlender Cellar-Ordner

Sollte euch die Fehlermeldung Error: No such file or directory - /usr/local/Cellar begegnen, bitte das Verzeichnis einfach anlegen:

1
sudo mkdir /usr/local/Cellar

Andere Fehler

Auch wenn ich die Homebrew-Installation als “vergleichsweise einfach” angepriesen habe, kann es doch ganz schön knifflig werden, oder? Ich habe hier nur 2 Fehler mit aufgezählt, weil ich darauf selbst gestoßen bin. Für alles andere fragt ihr am besten Tante Google, die weiß bei sowas immer bestens Bescheid. Geht davon aus, dass ihr nicht der oder die Erste mit dem Problem seid ;)

Als Abschluss noch mal brew doctor terminalen, um zu checken ob Your system is raring to brew.

3. Git installieren

Git? Kennt ihr doch noch aus der Artikelserie über Versionskontrolle? ;) Die Installation ist dank Homebrew denkbar einfach:

1
brew install git

Ob ihr wirklich richtig steht, seht ihr, wenn das Licht angeht der Befehl which git den Pfad /usr/local/bin ausspuckt. Sollte dem nicht so sein, bitte abermals mit brew doctor checken, ob alles ok ist und ggf. Fehler beheben (siehe weiter oben im Artikel).

4. RVM und Ruby installieren

Mal wieder bringt uns ein einziger Terminal-Befehl zum Ziel:

1
curl -L https://get.rvm.io | bash -s stable --ruby

… naja, nicht wirklich. Es gibt da ein paar Abhängigkeiten, die es ggf. aufzulösen gilt.

RVM als Funktion

Testet mal, ob der Befehl type rvm | head -n 1 die Ausgabe rvm is a function erzeugt. Falls ja: Glückwunsch!

Falls nicht: dödüm. Wir müssen es händisch fixen. Dazu erstmal sicherstellen, dass rvm als Funktion geladen wird. Das Ganze erledigen wir – once again – im .bash_profile. Befehl dazu:

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

Bitte Terminal neu starten und noch mal den Test von oben durchführen. Sollte jetzt klappen.

Gems installierbar machen

Anschließend bitte diese Palette an Befehlen ausführen:

1
2
3
4
5
6
brew install libksba
brew tap homebrew/dupes
brew install autoconf automake apple-gcc42
rvm pkg install openssl
rvm install 1.9.3
sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2

Es werden Programme via Homebrew und RVM installiert und Symlinks gesetzt. All das ist nötig, um anschließend Gems wie z.B. Rails installieren zu können.

Standard-Ruby festlegen

Wir sollten RVM noch sagen, dass das gerade installierte Ruby unser Standard-Ruby sein soll:

1
rvm use 1.9.3 --default

Test erfolgt mit ruby -v, die Ausgabe sollte etwas wie ruby 1.9.3p194 sein.

5. Rails installieren

So, letzter Schritt:

1
gem install rails

Jetzt solltet ihr durch sein. Alles weitere ist schon Rails-spezifisch und hat nur bedingt etwas mit der Installation zu tun, weswegen der Beitrag hier sein Ende findet.

Puh, Glück gehabt.

Updates sind dein Freund

Wichtig zu erwähnen ist, dass alles hier Beschriebene immer unter der Vorraussetzung gilt, dass eure installierten Programme State of The Art sind. Haltet alles aktuell, was ihr aktuell halten könnt. Aktualisiert auf Mountain Lion, verwendet die frischesten Versionen von Homebrew, Git, RVM, etc. Alles andere macht nur Probleme, da sich die Installationsvorgänge im Laufe der Zeit vereinfachen. Ältere Version = kompliziertererere Installation. Über kurz oder lang steigt ihr vermutlich eh auf die jeweils neuere Version um ;)

Weiterführende Links:

Falls ihr Fehler findet oder Fragen habt, immer her damit. Anderen mit ähnlichen Problemen kann dadurch schneller geholfen werden.

Autor: Enno

Ich bin Enno. PHP ist mein Ding, aber auch alles Neue rund um die Themen HTML5, CSS3 & Co finde ich interessant. Ich mag es Leuten zu helfen und mein Wissen weiterzugeben. Sollte dir mein Beitrag gefallen haben, lass doch nen Kommentar da oder benutze einen der Social Buttons, um deinen Dank auszudrücken ;)

Kommentare (0)

Für diesen Beitrag wurden Kommentare deaktiviert.