Tag Archive for 'macports'

HowTo: ImageMagick + RMagick via Macports für Tiger

Nach dem ich nun auch RMagick für ein aktuelles Projekt brauchte, dachte ich ich nehm einfach die Anleitung von hier (ok steht ja schon im Posttitel ist für Leopard und nicht für Tiger) Das hat natürlich nicht funktioniert und mich min. 2 h gekostet. Deshalb hier die Anleitung für Mac OS X Tiger:

Dauert ewig, für ImageMagick wird erst mal das ganze XFree86 Zeug und noch sonstige Sachen runter geladen. RMagick muss dann noch die ganzen Fonts einbinden, das dauert auch…


sudo port install ImageMagick
sudo port install libwmf
sudo port install lcms
sudo port install ghostscript
sudo gem install rmagick -y

Das Problem war einfach, dass die 3 anderen Port-Installationen gefehlt haben. Ich glaub es lag eigentlich nur an der fehlenden ghostscript Installation.

Dank geht hier noch hin, da gab es die Lösung.

HowTo: Ruby on Rails via MacPorts (aka DarvinPorts) unter Mac OS X

Auch wenn es über die Installation von Ruby on Rails schon viele Posts gibt, habe ich mich entschlossen noch einen zu schreiben. Meistens fehlen mir bei diesen Anleitungen kleine Details und ich denke, dass es besonders für Mac OS X Neulinge, bzw. Menschen, die sich auf der Kommandozeile nicht so auskennen, etwas schwer nach zu voll ziehen ist, was sie da überhaupt gerade machen.

Zum anderen, soll dieses Blog auch ein wenig unsere Entwicklung, die wir mit Ruby on Rails durch mache, wieder spiegeln und da ist es doch ganz gut, wenn man ganz von Vorne beginnt.

Jetzt gibt es erst mal eine Kurzanleitung mit allen nötigen Befehlen, für die Leute, die Ruby on Rails einfach nur ganz schnell installieren wollen und keinen Text mögen. Falls es dann zu Problemen kommt, müsst ihr halt doch noch mal unten schauen ;-).

Zusammenfassung
Source Dateien von der MacPorts Seite laden

$ tar -xvzf MacPorts-1.5.0.tar.gz
$ cd MacPorts-1.5.0
$ ./configure --prefix=/usr/local/macports
$ make
$ sudo make install
$ sudo ln -s /usr/local/macports/bin/port /usr/bin/port
$ cat >>~/.profile
PATH=/usr/local/macports/bin:$PATH ; export PATH
ctrl+D drücken
$ PATH=/usr/local/macports/bin:$PATH ; export PATH
$ sudo port selfupdate
$ sudo port install rb-rubygems
$ gem update
$ sudo gem install rails --include-dependencies
$ rails -v

Update Michael schreibt in den Kommentaren, dass bei Mac Ports 1.6.0 vor $ sudo gem install rails –include-dependencies noch ein $ sudo port install rb-rails kommen muss.

MacPorts

MacPorts (ehemals DarvinPorts) ist ein Packet Management System, wie es eigentlich fast jedes Unix System hat, das es einem erleichtert Programme zu installieren und sie auf dem aktuellen Stand zu halten. Das System berücksichtigt und installiert auch alle Abhängichkeiten, d.h. alle Programme und Bibliotheken, die für das zu installierende Programm benötigt werden. Um bereits Installierte Versionen von Ruby oder anderen Sachen, muss man sich keine Sorgen machen, da die MacPorts Installationen abgeschottet davon liegen und sich nicht beeinflussen.

Um MacPorts und später Ruby on Rails zu installieren, muss man

  • als Administrator eingelogged sein, um das SuperUser Command sudo ausführen zu können (wird später noch ganz oft gebraucht)
  • Xcode Tools installiert haben (sind auf der OS X CD oder bei Apple, auf jeden Fall mal checken, ob das auf der CD die Aktuelle Version ist. Geht ganz einfach in dem man in die About Xcode Tools.pdf rein schaut, da steht die Version drin. Gerade is das 2.4.1)

MacPorts gibt es mitlerweile auch mit einem Installer aber ich möchte es hier einmal selber kompilieren um es gesammelt unter /usr/local/macports zu haben. So kann man es jeder Zeit ohne Probleme wieder löschen, in dem man einfach den Ordner löscht.

Also als erstes müssen wir uns die Source Dateien auf den Desktop runter laden (einfach die aktuellste Version wählen, zum jetzigen Zeitpunkt ist das 1.5.0), ich nutze die MacPorts-1.5.0.tar.gz. Dann entpacken wir das ganze. Dazu gehen wir ins Terminal (zu finden unter Programme -> Dienstprogramme -> Terminal, das ist die Kommandozeile auf der wir uns jetzt die ganze Zeit bewegen werden) und tippen ein paar Befehl ein. Für all, die noch nie mit dem Terminal gearbeitet haben hier noch ein paar Hinweise:

  • das $ signalisiert nur, dass es sich um die Kommandozeile handelt, der Befehl fängt erst danach an
  • mit dem Tabulator kann man Dateien oder Pfade vervollständigen lassen, bzw. sich die Möglichkeiten anzeigen lassen (Beispiel $ cd Des tippen und dann den Tabulator drücken führt zu $ cd Desktop)

Also los:

$ cd Desktop
$ tar -xvzf MacPorts-1.5.0.tar.gz

Es wird die Liste mit den entpackten Files angezeigt. Wir wechseln nun in das neue Verzeichnis und führen das ./configure Script mit dem Prefix, in das wir MacPorts installieren wollen aus. Dadurch wird die Installation vorbereitet (man sieht einen Haufen Tests die das Script ausführt. Wenn ein “WARNING: X11 not available.” auftaucht, ist das nicht weiter schlimm, da wir keine X11 Pakete installieren wollen). Im Anschluss kompilieren wir MacPorts mit dem Befehl “make” und installieren es mit “sudo make install”, hier werden wir nach dem Administrator Kennwort gefragt, einfach eintippen und den Mac arbeiten lassen.

$ cd MacPorts-1.5.0
$ ./configure --prefix=/usr/local/macports
$ make
$ sudo make install

Das Gröbste wäre damit erledigt. Wir legen noch einen Symlink an, um uns die weitere Arbeit zu erleichtern und nicht immer den ganzen Pfad eingeben zu müssen.
Damit die alte Ruby Version nicht mehr benutzt wird und irgendwann Probleme machen könnte, ändern wir noch $PATH, indem wir eine .profile Datei erstellen, in die wir den MacPorts installations Pfad aufnehmen. Damit das ganze auch gleich funktioniert (normal müssten wir uns neu einloggen) ändern wir $PATH gleich noch für diese Session.
Danach machen wir noch ein selfupdate für MacPorts, hier holt sich MacPorts alles was es braucht und macht ggf. noch ein Update (kann also ein bisschen dauern)

$ sudo ln -s /usr/local/macports/bin/port /usr/bin/port
$ cat >>~/.profile
PATH=/usr/local/macports/bin:$PATH ; export PATH
ctrl+D drücken
$ PATH=/usr/local/macports/bin:$PATH ; export PATH
$ sudo port selfupdate

Ein einfaches

$ sudo port install rb-rubygems

installiert uns jetzt die RubyGems mit denen wir nun mit der eigentlichen Ruby on Rails Installation anfangen können. Die Installation von RubyGems kann eine ganze Weile dauern, da ja auch alle Abhängigkeiten installiert werden müssen, also wenn du ein Raucher bist: Zurück lehnen, Mukke laufen lassen und die Kippe anmachen…

Ruby on Rails

Als erstes sollten wir nun ein Update der gems machen und dann Rails mit all seinen Abhängichkeiten installieren. Das kann je nach Mac und Server Status auch wieder ewig dauern… noch ne Kippe? (Machmal spackt der http://gems.rubyforge.org Server rum und sagt, dass er die Pakete nicht lesen kann. Bei mir hat ein gem query –remote geholfen, dass alle verfügbaren Pakete anzeigt. Danach ging der normale install Befehl… kann auch nur Zufall gewesen sein ;-))


$ gem update
$ sudo gem install rails --include-dependencies

Update:
In den Kommentaren hat Phil darauf hingewiesen dass es hier zu einem Problem beim $ gem update kommen kann. Seine Lösung sieht ein

$ sudo port -ufn upgrade rb-rubygems

vor dem $ gem update vor. (Quelle: http://lists.macosforge.org/pipermail/macports-dev/2007-June.txt)

Danke Phil!

So das war es, Rails ist nun installiert! Herzlichen Glückwunsch erst mal =)

Hier noch ein paar checks

$ rails -v
$ ruby -v
$ which rails
$ which ruby

sollte ungefähr das hier ausgeben (je nachdem welche Version du hast):
Rails 1.2.3
ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.10.3]
/usr/local/macports/bin/rails
/usr/local/macports/bin/ruby
Wichtig ist hier, dass die beiden Pfade das MacPorts Verzeichnis beinhalten.

Jetzt gibt es noch nen paar Gems, die man installieren sollte aber darauf gehe ich in weiteren Posts genauer ein.