Ich wollte Ghost installieren

Kennt ihr Ghost? Die wohl meistgehypte Blogging-Plattform seit WordPress. Ghost, die Lösung für alles. Verpackt in einer simplen Oberfläche, ganz einfach zu installieren mit npm. Quasi.

npm ist der Dependency-Manager von Node.JS - dem serverseitigen JavaScript. Ich mag JavaScript sowieso nicht, da will ich es nicht auch noch auf dem Server haben. Aber was tut man nicht alles um eine schöne Bloggingplattform zu bekommen?

In der Theorie ist die Installation Ghosts relativ einfach. npm und node installieren, Ghost-Zip runterladen, entpacken, npm install --production, starten.

Unter Ubuntu läuft das dann so ab, dass man sich erst einmal eine veraltete npm-Version installiert, welche Probleme mit so ziemlich allem und jedem hat. Abhilfe schafft dann ein npm install npm -g, damit aktualisiert man npm. Warum sollte man denn auch npm update dafür verwenden?

Plötzlich bekommt man einen seltsamen Stack-Trace, wenn man npm starten will. os.tmpDir() wird nicht gefunden. Nach einer halben Stunde mit Onkel Google findet man dann irgendwann heraus, dass die node-Version zu alt ist. Hätte man im Nachhinein auch einfach als Fehlermeldung ausgeben können..

Aber gut, dann updaten wir mal unsere node-Version. Diesen Schritt finde ich besonders schön:

npm i n -g n latest

Kein Scheiß, so geht das. Kurz erklärt: i steht für install, n ist ein Versionsmanager für node. Mal abgesehen von dem beschissenen nicht so tollen Namen fällt außerdem auf, dass man ihn nur installieren kann, wenn man eine funktionierende npm/node-Umgebung hat. Man kann im aktuellen Stand, den wir jetzt haben, also entweder npm downgraden oder node manuell upgraden. Ich entschied mich für letzteres.

So, nachdem also npm und node also endlich problemlos zusammenarbeiten, kanns ja endlich mit Ghost losgehen. Paket runtergeladen, npm install --production ausgeführt und wusch - der nächste Fehler. Natürlich genau so nichtssagend wie der erste. npm ist einfach super in dieser Hinsicht. Wie sich herausstellte, hat Debian diesmal Mist gebaut. Naja, gut. Es läuft. Immerhin.

Ach ja.. und zum Thema Migration: RSS-Feeds parsen wär ja zu einfach. Ghost kann das besser.