Am Wochenende hat mich nach einem gescheiterten Update von NodeJS auf meinem Homebridge Server ein Fehler fast zur Verzweiflung gebracht. Da ich kein RaspberryPi/Linux Experte bin, musste ich im Internet ewig nach einer Lösung suchen. Für alle, denen es genau so geht, hier eine Sammlung der im Netz gefundenen möglichen Lösungsvorschläge. tl;dr: meine Rettung war „sudo hb-service update-node“.
zum Hintergrund
Mein Homebridge-Server läuft auf einem RaspberryPi 4b. Beim letzten Update von NodeJS, das ja normaler Weise sehr einfach und elegant über den entsprechenden Menüpunkt von hb-config zu erledigen ist, gab es jedoch unerwartet Probleme… Anscheinend wurde über das Repository eine korrupte Installationsdatei übertragen. Jedenfalls meldete der Raspberry daraufhin
> sudo npm command not found
Mögliche Lösungen
Über diverse Troubleshooting-Seiten fand ich heraus, dass dieses Problem bei einer unvollständigen oder fehlerhaften NodeJS Installation auftreten kann.
Node.JS neu installieren
sudo apt-get install nodejs -y
Der Versuch, Node.JS mit den oben genannten Befehlen neu zu installieren, schlug jedoch fehl. Auch ein manuelles Eintragen des Node-Repositories mit
curl -ksL https://deb.nodesource.com/setup_14.x | sudo -E bash -
und anschließende Installation funktionierte nicht, ebeso das komplette Löschen der fehlerhaften Installation mit
sudo apt purge nodejs
ich erhielt immer die Fehlermeldung:
E: Package ’nodejs‘ has no installation candidate

Die Rettung
Meine Rettung war erst der Hinweis auf das Script „hb-service“ … Über einen Befehl konnte ich eine funktionierende NodeJS Installation mitsamt NPM wiederherstellen:
sudo hb-service update-node