Gibt es ein Spendenkonto oder sowas?
Ja, das gibt es, aber es gibt nicht genug Geld
.
Neu aufsetzen wäre der Horror, das bekomme ich nie wieder so ans laufen 🤣
Die Frage ist: warum ist npm kaputt? Das passiert normalerweise dann, wenn das Dateisystem des Raspi beschädigt wird, aber warum ist das beschädigt? Du hast möglicherweise eine kaputte SD-Card, und dann kommst du um eine Neuinstallation eh nicht herum.
Wenn es nur um die Homebridge geht, dann ist die Sache nicht so schwer. Befindet sich auf dem Raspi noch andere Software, dann wird es schon schwieriger. Ich weiß natürlich nicht, was bei dir so los ist.
Auf jeden Fall solltest du von deiner config.json ein Backup machen. Ich weiß, Backups sind für Heulsusen, und wozu auch: funktioniert doch alles, aber manchmal muss man einfach mal aufhören, ein richtiger Kerl zu sein und statt dessen eine defensive Haltung einnehmen.
Deine config.json befindet sich an einem bestimmten Ort, der dadurch festgelegt ist, wie du deine Homebridge konfiguriert hast. Die wahrscheinlichsten Orte sind entweder /var/homebridge/config.json oder /var/lib/homebridge/config.json. Du kannst sie dir im Terminal anzeigen lassen mit:
cat /var/homebridge/config.json oder cat /var/lib/homebridge/config.json. Einer der beiden Befehle zeigt die Konfiguration an, der andere ergibt eine Fehlermeldung. Merke dir den Pfad, der was Brauchbares anzeigt.
Dann kopierst du die Datei auf deinen Mac. Dazu öffnest du ein Terminalfenster und gibst dort ein:
scp [email protected]:/var/homebridge/config.json .
Das kopiert deine Homebridge-Konfiguration vom Raspi zum Mac. Natürlich verwendest du die IP-Adresse deines Raspi und den Pfad, den du dir oben gemerkt hast. Möglicherweise musst du das Passwort des Users pi eingeben.
Damit ist der wichtigste Teil deiner Homebridge gesichert und liegt nun in deinem Userverzeichnis auf deinem Mac - du kannst sie im Finder sehen.
Jetzt kannst du versuchen, node neu zu installieren. Folgend die Anweisungen für einen Raspi 3 oder 4. Lies sie komplett durch, bevor du startest.
Herunterladen:
https://nodejs.org/dist/latest-v14.x/node-v14.17.6-linux-armv7l.tar.gz
Auspacken:
tar xf node-v14.17.6-linux-armv7l.tar.gz
Node an die richtige Stelle kopieren. Das ist der wirklich hässliche Teil der Aktion und ich persönlich würde mich etwas davor fürchten. Aber da deine Installation eh schrottig ist, sind deine Aktionsmöglichkeiten eher klein. Also:
sudo cp -R node-v14.17.6-linux-armv7l/* /usr/local/
Das überschreibt deine existierende node-Version. Das dauert einen Augenblick und jetzt ist ein guter Zeitpunkt, die Hände zu falten und "bitte, bitte, bitte" zu murmeln. Nicht überschrieben oder verändert wird dabei deine Homebridge-Konfiguration. Aber theoretisch kann dieser Vorgang deine Lage auch verschlimmern (wenn das noch möglich ist). Es fällt mir eigentlich sehr schwer, solche Tipps zu veröffentlichen - immerhin bin ich nachher der Depp, der deinem Raspi den Rest gegeben hat.
Jetzt kannst du testen, ob das funktioniert hat:
node -v zeigt dir die Versionsnummer des installierten node an
npm -v zeigt dir die Versionsnummer des installierten npm an
Wenn dabei keine Fehlermeldungen auftauchen, startest du deine Homebridge neu und wirfst einen Blick ins Log. Vielleicht tut sich ja was Gutes. Lass sehen.