Raspberry Pi: Node.js installieren
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
Zunächst aktualisieren wir den Raspberry Pi, damit später alles rund läuft.
sudo apt-get update && sudo apt-get upgrade
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.
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
Nun lassen wir Node.js sich konfigurieren und daraufhin kompilieren. Letzteres dauerte bei mir rund drei Stunden.
sudo ./configure
sudo make
sudo make install
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
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/
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
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.
23 Kommentare. Hinterlasse eine Antwort
[…] https://jankarres.de/2013/07/raspberry-pi-node-js-installieren/ […]
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/ 😉
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.
Schon, aber ich finde, du solltest in dem Beitrag darauf hinweisen. Denn als Neuling kann man sich so die 3h sparen, wenn man wie ich durch Google hierherkommt, weil dein Post ganz oben Stand. 🙂
Werde ich sobald ich Zeit finde noch umschreiben – versprochen 🙂
Und überarbeitet.
Juhu! 😀
Hm, ich bin jetzt endlich mal dazu gekommen, nodejs auf meinem Pi zu installieren. Allerdings konnte ich die vorkompilierten Versionen nicht ausführen (noch nicht einmal per absolutem Pfad mit allen Rechten), es ging erst, nachdem ich (sehr umständlich, da ich einen Fehler bekam -> http://zo0ok.com/techfindings/archives/1138) es selbst kompiliert hatte.
Nur mal für alle, die von Google aus hierherkommen und vielleicht dasselbe Problem haben.
Kann ich zwar nicht bestätigen, jedoch im Bedarfsfall auf jeden Fall nicht verkehrt 😉
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
Lag eher daran, dass mir wohl der Befehl beim Schreiben nicht mehr einfiel. Habs verbessert. Danke 🙂
node.js hab ich jetzt erfolgreich inst. Wie könnte ich jetzt noch Webogram (https://github.com/zhukov/webogram) darauf zum laufen bekommen?
Wie du Webogram zum Laufen bekommst wird in dessen Repository, dass du selbst verlinkt hast, erklärt.
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/
Zur Installation würde ich eher raten die Daten von den Entwicklern zu verwenden, statt, wie von dir angegeben, einer Drittquelle zu vertrauen.
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?
Node.js ist nur die technologische Basis. Einen entsprechenden Autostart musst du bei der Anwendung, die du installierst, hinzufügen.
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 ?
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…
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?
Bspw. bei Etherpad Lite findest du eine solche Angabe in deren Readme-File.
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/
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