Das Framework Node.js ist eine Plattform für serverseitiges JavaScript und in modernen Webprojekten immer häufiger vorzufinden. Die JavaScript-Laufzeitumgebung basiert auf Googles V8 und bildet eine performante und ressourcenschonende Architektur mit der sich eigene Webserver und Webanwendungen umsetzen lassen. Ein Vorteil gegenüber anderen Websprachen, beispielsweise PHP, ist, dass die Plattform Node.js dazu ausgelegt ist, Echtzeitanwendungen umzusetzen. Mehr Details über das JavaScript-Framework, als auch die Dokumentation von Node.js kann im Netz nachgelesen werden. Um das eigene Projekt mit dem Raspberry Pi mit einer modernen Webanwendung zu bereichern bietet sich Node.js sehr gut an. Im Folgenden wird erklärt, wie man mit nur wenigen Schritten Node.js auf dem Raspberry Pi installiert.
Node.js auf dem Raspberry Pi installieren
Die Installation von Node.js in der aktuellen Version 4.4.0 (und neuer) auf dem Raspberry Pi ist durch die Bereitstellung von Node.js für ARM-Architekturen gegeben. Bisher konnte man vergleichweise mit dem Befehl sudo apt-get install nodejs nur die Version 0.10 installieren und nutzen.
Um Node.js auf dem Raspberry Pi zu installieren laden wir uns – abhängig von unserem Raspberry Pi Modell – die entsprechenden Node.js Quelldateien herunter, entpacken diese und wechseln in das Verzeichnis. Grund für die Unterscheidung sind die verschiedenen ARM-Architekturen der Raspberry Pi Generationen: Der Raspberry Pi der ersten Generation, konkret die Modelle A/A+, B/B+ und Zero, basieren auf der ARMv6-Architektur. Der Raspberry Pi 2 arbeitet mit ARMv7 und der Raspberry Pi 3 mit ARMv8-A.
Im folgenden Beispiel wird Node.js in der Version 4.4.0 LTS heruntergeladen und installiert. Unter nodejs.org/dist/ findet man die Übersicht aller bereitgestellten Versionen. Je nach der gewünschten Version könnte das entsprechende Archiv analog nach dieser Anleitung heruntergeladen und installiert werden.
Raspberry Pi A/A+, B/B+ und Zero (ARMv6)
wget http://nodejs.org/dist/latest-v4.x/node-v4.4.0-linux-armv6l.tar.gz
tar -xvf node-v4.4.0-linux-armv6l.tar.gz
cd node-v4.4.0-linux-armv6l
Raspberry Pi 2
wget http://nodejs.org/dist/latest-v4.x/node-v4.4.0-linux-armv7l.tar.gz
tar -xvf node-v4.4.0-linux-armv7l.tar.gz
cd node-v4.4.0-linux-armv7l
Nachdem wir Node.js auf dem Raspberry Pi der ersten oder zweiten Generation heruntergeladen und entpackt haben, kopieren wir abschließend die Programmdateien des JavaScript-Frameworks in den Ordner /usr/local um Node.js zu installieren. Mehr ist an dieser Stelle nicht zu tun.
sudo cp -R * /usr/local/
Zur Überprüfung, ob Node.js richtig auf dem Raspberry Pi installiert wurde, kann die Version mit folgendem Befehl im Terminal abgefragt werden. In der Ausgabe sollte die Version 4.4.0 bzw. eure gewählte Version sichtbar werden.
node -v
Außerdem ist der Node Package Manager in der Installation mit inbegriffen. Auch hierfür können wir die Richtigkeit der Installation mit einer Versionsabfrage überprüfen.
npm -v
Raspberry Pi 3
Für den Raspberry Pi 3, welcher auf ARMv8-A 64 Bit basiert, sind die aktuellen Versionen von Node.js noch nicht lauffähig. Die Entwickler bieten zwar die entsprechenden Ressourcen für ARMv8 bzw. ARM64 an – was auch hier nachzulesen ist. Allerdings vermute ich, dass durch das aktuelle Raspbian, welches noch auf 32 Bit basiert, die Node-Version nicht lauffähig ist.
Alternativ kann man daher zunächst nur auf die ältere 0.10.29 Version zurückgreifen, welche mit folgendem Befehl installiert werden kann.
sudo apt-get install nodejs
Im Gegensatz zu den aktuellen Laufzeitumgebungen muss hier mit dem Befehl nodejs statt nur node gearbeitet werden.
nodejs -v
npm -v
Geschafft! Damit ist Node.js auf dem Raspberry Pi installiert. Inwieweit die aktuelle Node.js Version auf dem Raspberry Pi 3 lauffähig ist, bleibt abzuwarten bis Raspbian auf 64 Bit verfügbar ist.
hey tony! danke für deinen artikel.
mittlerweile schlägt der wget befehlt fürs pi 2 fehl.
erst ein 301 dann ein 404.
magst du deinen artikel updaten?
lg fynn
ps hier der log
HTTP request sent, awaiting response… 301 Moved Permanently
Location: https://nodejs.org/dist/latest-v4.x/node-v4.4.0-linux-armv7l.tar.gz [following]
converted ‘https://nodejs.org/dist/latest-v4.x/node-v4.4.0-linux-armv7l.tar.gz’ (ANSI_X3.4-1968) -> ‘https://nodejs.org/dist/latest-v4.x/node-v4.4.0-linux-armv7l.tar.gz’ (UTF-8)
–2016-10-25 22:06:20– https://nodejs.org/dist/latest-v4.x/node-v4.4.0-linux-armv7l.tar.gz
Connecting to nodejs.org (nodejs.org)|2400:cb00:2048:1::6814:172e|:443… connected.
HTTP request sent, awaiting response… 404 Not Found
2016-10-25 22:06:21 ERROR 404: Not Found.
Danke für deinen Hinweis, schau ich mir an. Es ist aber durchaus möglich das die Ressourcen unter anderen Links bereitgestellt werden. Einen temporären Fehler würde ich ausschließen, da der Verbindungsaufbau ja erfolgt und dann ein klares 404 kommt.