Raspberry Pi: Node.js installieren

31 Jul
31. Juli 2013

Node.js ist momentan die Plattform schlechthin für Server-seitiges JavaScript. Dank der JavaScript-Implementierung V8 von Google handelt es sich hierbei um eine schnelle Plattform, die im Gegensatz zu anderen Script-Sprachen wie z.B. PHP darauf ausgelegt ist, in Echtzeitanwendungen zum Einsatz zu kommen, da durch eine bestimmte Architektur wesentlich mehr Anfragen zur selben Zeit beantwortet werden können. Auf den konkreten technischen Aufbau gehe ich an dieser Stelle nicht ein, da dieser Artikel lediglich erklären soll, wie man Node.js auf seinem Raspberry Pi installiert, was nun im Folgenden kommt.

Voraussetzung: Raspbian oder vergleichbare Distribution installiert

Step 1

Zunächst aktualisieren wir den Raspberry Pi, damit später alles rund läuft.

sudo apt-get update && sudo apt-get upgrade

Step 2

Nun installieren wir mittels des Paketmanagers benötigte Pakete.

sudo apt-get install git-core build-essential python libssl-dev nano

Jetzt kommt es darauf an, welche Version von Node.js man benötigt. Ab Version 0.9.x gibt es Node.js inzwischen für den Raspberry Pi vorkompiliert Binaries, wie mich BlkChockr in den Kommentaren aufmerksam machte. Folgende Schritte sind nur nötig, wenn man Node.js selbst kompilieren möchte. Möchte man eine vorkompilierte Version verwenden, muss man erst ab Step 5 weitermachen. Diejenigen, die selbst kompilieren, müssen diese Anleitung nur bis Step 4 beachten und anschließend noch Step 7.

Step 3

Jetzt ist es an der Zeit, Node.js herunterzuladen. Dazu bedienen wir uns des Git-Repositories und wählen anschließend, welche Version wir installieren möchten. Zum Zeitpunkt, als ich dieses Tutorial schrieb, war die Version v0.10.8 aktuell. Die aktuelle Versionsnummer findet man unter https://github.com/joyent/node/tags. Bei der Wahl der Version ist unbedingt zu berücksichtigen, welche Programme später mit Node.js laufen sollen, denn einige benötigen eine bestimmte Node.js Version!

cd /opt
sudo git clone https://github.com/joyent/node.git
cd node
sudo git checkout v0.10.8

Step 4

Nun lassen wir Node.js sich konfigurieren und daraufhin kompilieren. Letzteres dauerte bei mir rund drei Stunden.

sudo ./configure
sudo make
sudo make install

Step 5

Wir laden nun die vorkompilierte Version von Node.js für den Raspberry Pi herunter. Dazu sehen wir in das Dist Repository von Node.js. In diesem gehen wir in den Ordner der Version, die wir benötigen, und laden dort die Variante linux-arm-pi herunter. Wenn diese nicht existiert, müssen wir doch selbst kompilieren. Im Folgenden verwende ich beispielhaft v0.10.8.

cd /opt
sudo wget http://nodejs.org/dist/v0.10.8/node-v0.10.8-linux-arm-pi.tar.gz

Step 6

Nun können wir Node.js entpacken und das heruntergeladene Paket entfernen.

sudo tar xfvz node-v0.10.8-linux-arm-pi.tar.gz
sudo rm node-v0.10.8-linux-arm-pi.tar.gz
sudo mv node-v0.10.8-linux-arm-pi/ node/

Step 7

Damit Node.js nun noch überall ausführbar ist, müssen wir dies in der .profile definieren, indem wir folgende Zeile am Ende der Datei in eine neue Zeile schreiben. Dazu benutzen wir den Editor nano, in dem man mit STRG + X, Y und Enter speichert.

nano ~/.profile

export PATH=$PATH:/opt/node/bin

Step 8

Abschließend müssen wir, wenn wir die vorkompilierte Version verwenden, die Einträge in ~/.profile noch einmal neu laden lassen.

source ~/.profile

Und das wars schon. Node.js ist nun auf dem Raspberry Pi installiert und wir können eine beliebige Node.js Anwendung, wie z.B. das Etherpad Light, damit ausführen.

Dieser Artikel wurde am 03. März 2014 überarbeitet.

Dir hat der Artikel gefallen?
Teile ihn mit deinen Freunden!
23 Antworten
  1. BlkChockr says:

    Nur als Tipp: Laut dieser Seite: http://joshondesign.com/2013/10/23/noderpi kann man das Kompilieren nun umgehen. Die neuste Version findet man im jeweiligen Unterordner hier: http://nodejs.org/dist/ 😉

    Antworten
    • Jan Karres says:

      Danke für den Hinweis. Dies gilt aber nur für NodeJS Version ab 0.9.x. Ältere Versionen, die vereinzelt Anwendungen auch noch im Einsatz haben, sind dort nicht für den Raspberry Pi bzw. dessen ARM Architektur vorkompiliert vorzufinden.

      Antworten
  2. Peter says:

    Hi, danke für den Artikel 🙂 Neustart am ende ist aber nicht zwingend notwendig.
    Ein source ~/.profile tuts doch auch oder hat das noch eine andere bewandniss?

    vg

    Antworten
  3. Paperjack says:

    node.js hab ich jetzt erfolgreich inst. Wie könnte ich jetzt noch Webogram (https://github.com/zhukov/webogram) darauf zum laufen bekommen?

    Antworten
  4. LynchenJourney says:

    Inzwischen gibt es auch eine einfachere Methode um NodeJS auf dem Raspi zu installieren, nämlich mittels Debian Installationsarchiv. Anleitung siehe hier:
    http://node-arm.herokuapp.com/

    Antworten
    • Jan Karres says:

      Zur Installation würde ich eher raten die Daten von den Entwicklern zu verwenden, statt, wie von dir angegeben, einer Drittquelle zu vertrauen.

      Antworten
  5. Daniel Supper says:

    Ich muss node.js automatisch beim Booten starten. Würde das am liebsten mit sudo service node start machen. Habe es aber bisher nicht hinbekommen. Gibt es da noch einen Tip oder eine Anleitung?

    Antworten
  6. Boas Enkler says:

    Die Einrichtung an sich hat geklappt. Allerdings funktioniert das starten einer Anwendung mit Express nicht. Es gibt nichtmal einen Fehler. Wollte dann per sudo ausführen bekomme dann aber die meldung dass npm nicht bekannt ist. wo muss ich die pfad angaben hinterlegen damit sie auch für den sudo vorhanden sind ?

    Antworten
    • Jan Karres says:

      Wenn du es händisch installiert hast muss in die ~/.profile des Root-Users auch noch die entsprechende Angabe (Step 7 und 8). Dass Express ohne Fehlermeldung beendet wird kann ich mir ehrlich gesagt kaum vorstellen…

      Antworten
  7. Daniel Supper says:

    Diese Anleitung ist sehr cool!
    Ich nutze Node.js in Verbindung mit MongoDB. Du schreibst, dass manche Anwendungen eine besondere Variante benötigen. Wo finde ich dazu in meinem Fall Angaben?

    Antworten
  8. Deadpool says:

    Hey,
    ich mal wieder. Wollte mir Etherpad lite holen, allerdings kriege ich beim etherpad lite den error:
    Illegal instruction
    bin/installDeps.sh: 41: [: =: unexpected operator
    Copy the settings template to settings.json…
    Ensure that all dependencies are up to date… If this is the first time you have run Etherpad please be patient.
    Illegal instruction

    Illegal instruction kommt auch, wenn ich node eingebe. Ich verzweifle langsam XD
    Hab diese Version von node genommen: http://nodejs.org/dist/v0.11.9/

    Antworten
  9. Dominik Rimpf says:

    Hi, cooles Tutorial, dein Blog hat mir schon oft geholfen!
    Du verlinkst oben noch auf das alte Joyent Repo auf GitHub,
    das würde ich eventuell mal auf das neue der Node.js Foundation updaten 😉
    Ansonsten weiter so!

    VG Dominik

    Antworten

Trackbacks & Pingbacks

Antworten

Kommentar verfassen

JanKarres.de © 2007-2018