Node Probleme nach Update

  • Habe es gerade auch nochmals mit n versucht, es zeigt mir alle vergangenen und aktuellen Versionen an. Wenn ich dann versuche die los zu installieren, wird node per zwar heruntergeladen, es erscheint dann aber genau die selbe Fehlermeldung wie oben schon beschrieben.


    Ich befürchte, ich muss heute auf ein neues Image wechseln.......

  • Nastra


    Ich bin jetzt nach stundenlanger Arbeit fertig und nun läuft Homebridge mit weiteren 9 Instanzen auf Debian buster auf meinem RasPi 3........


    Ich habe alle Schritte manuell durchgeführt und immer mal wieder in die Anleitung von sschuste gespielt und diese nach Bedarf abgeändert. Ich hab zum Beispiel das config-ui draußen gelassen......


    Ich bin nun ohne Probleme auf node lts (12.13.0) und alles ist so wie vorher.......


    War mal wieder ganz interessant, alles komplett manuell aufzusetzen.


    Einzig mit der Anmeldung als root in FileZilla bin ich nicht klar gekommen. Damit ich jedoch meine Dateien wieder kopieren konnte habe ich mir kurz mit chmod -R 777 die entsprechende Berechtigung erteilt und diese dann im Nachhinein wieder rückgängig gemacht..........


    Eigentlich dachte ich, dass ich den Mittag für mich in Ruhe hätte, allerdings wollten meine beiden Jungs (6 und knapp 3) auch lieber zu Hause bleiben, was dann doch eine ganz schöne Herausforderung wurde ;)


    Aber das Ergebnis zählt, vielen Dank würden Impuls, sonst hätte ich mir nicht den ruck gegeben, auf ein neues Image umzuziehen....

  • Damit ich jedoch meine Dateien wieder kopieren konnte habe ich mir kurz mit chmod -R 777 die entsprechende Berechtigung erteilt

    Das ist sehr schlecht.

    und diese dann im Nachhinein wieder rückgängig gemacht..........

    Das ist sehr gut :thumbup:.


    Wenn man irgendwo was hinkopieren möchte, aber aufgrund von Berechtigungen nicht darf, bietet sich immer das /tmp-Verzeichnis an. Da darf jeder hinschreiben. Ich selbst kopiere alles per Terminaleingabe mit scp, da bin ich einfach schneller. Soll nicht heißen, dass es damit einfacher geht, aber ich bin's nun einmal so gewohnt und daher dokumentier ich das mal hier. Ich kann's nur für den Mac oder andere Linux-Maschinen beschreiben, aber es würde auch mit Windows gehen, und zwar mit pscp (PuTTY scp).


    Vom Raspi mit der IP-Adresse 192.168.1.22 etwas auf den Mac kopieren:

    Auf dem Mac ein Terminalfenster öffnen, dann

    • scp [email protected]:datei.txt . kopiert die Datei datei.txt aus dem Homeverzeichnis von pi auf dem Raspi auf den Mac
    • scp [email protected]:/var/homebridge/config.json . kopiert die Datei /var/homebridge/config.json auf dem Raspi auf den Mac
    • scp -r [email protected]:/var/homebridge . kopiert das komplette Verzeichnis /var/homebridge auf dem Raspi auf den Mac


    Vom Mac etwas auf den Raspi mit der IP-Adresse 192.168.1.22 kopieren:

    Anders herum wird es schon schwieriger. Wenn man vom Mac was auf den Raspi kopieren will, muss man bestimmte Berechtigungen haben, die man leider oftmals nicht hat. Während man wahrscheinlich alles lesen darf (deshalb ist es einfach, vom Raspi zum Mac zu kopieren), darf man nicht alles schreiben. Der User pi darf beispielsweise nicht nach /var/homebridge schreiben, dazu braucht er sudo-Rechte auf dem Raspi. Aber er darf nach /home/pi schreiben und nach /tmp. Also auf dem Mac ein Terminalfenster öffnen, dann


    • scp datei.txt [email protected]: kopiert die Datei datei.txt vom Mac in das Homeverzeichnis von pi auf dem Raspi. Das ist das gleiche wie
    • scp datei.txt [email protected]:/home/pi
    • scp datei.txt [email protected]:/tmp kopiert die Datei datei.txt vom Mac nach /tmp/datei.txt auf dem Raspi.
    • scp -r homebridge [email protected]: kopiert das komplette Verzeichnis homebridge in das das Homeverzeichnis von pi auf dem Raspi
    • scp -r config.json [email protected]:/var/homebridge scheitert, weil der User pi auf dem Raspi nur mit sudo-Rechten dorthin kopieren darf
    • sudo scp -r config.json [email protected]:/var/homebridge scheitert, weil es nicht hilft, sich auf dem Mac sudo-Rechte zu verschaffen, wenn man sie auf dem Raspi braucht.

    Es bedarf immer einen zweiten Schrittes, um die Datei(en) dann dort hin zu kopieren, wo sie hingehören (es sei denn, sie gehören in das Homeverzeichnis von pi auf dem Raspi /home/pi). Auf dem Raspi ein Terminalfenster öffnen und dann


    • sudo cp config.json /var/homebridge kopiert die Datei config.json aus dem Homeverzeichnis von pi auf dem Raspi nach /var/homebridge/config.json auf dem Raspi. Dabei wird keine Meldung auf dem Bildschirm ausgegeben.
    • sudo cp -v config.json /var/homebridge tut das gleiche, nur mit Bildschirmausgabe.
    • sudo cp -av homebridge /var kopiert das gesamte Verzeichnis homebridge aus dem Homeverzeichnis von pi auf dem Raspi nach /var/homebridge.


    Wenn dabei vorhandene Dateien überschrieben werden, kann dieser Vorgang nicht rückgängig gemacht werden! In jedem Fall lohnt es sich, für das Verzeichnis /var/homebridge die Berechtigungen so zu setzen, dass der User homebridge dort lesen und schreiben darf. Dazu überträgt man die Dateien einfach an ihn (change owner:(


    sudo chmod -R homebridge:homebridge /var/homebridge


    Stefan

    Einmal editiert, zuletzt von sschuste ()

  • Danke sschuste für deine ermahnenden Worte, hab schon fast damit gerechnet 😜


    Dieser Teil deiner ausführlichen Anleitung könnte doch Nastra dvtl. in die Befehlssammlung unter Anleitungen mit aufnehmen???

  • Hallo,


    hab heute leichtsinnigerweise (ohne vorheriges Backup des Systems) meinen Homebridge Raspbi auf NODE V12.13.0 (LTS) und NPM V6.13.0 upgedatet.

    Ich kann zwar mittlerweile die Homebridge wieder starten - aber erst muss vorher immer der Ordner /home/pi/.homebridge/persist/ komplett gelöscht werden.

    Nebenwirkung: meine komplette HOMEKIT Konfiguration ist gelöscht ;(


    Folgende Fehlermeldung bekomme ich beim Starten von Homebridge:


    internal/fs/utils.js:220

    throw err;

    ^


    Error: EISDIR: illegal operation on a directory, read

    at Object.readSync (fs.js:506:3)

    at tryReadSync (fs.js:331:20)

    at Object.readFileSync (fs.js:368:19)

    at LocalStorage.parseDirSync (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/node-persist/src/local-storage.js:637:35)

    at LocalStorage.parseDataDirSync (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/node-persist/src/local-storage.js:572:21)

    at LocalStorage.initSync (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/node-persist/src/local-storage.js:145:14)

    at Object.nodePersist.initSync (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/node-persist/src/node-persist.js:41:29)

    at Object.init (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/index.js:31:13)

    at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:30:7)

    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22) {

    errno: -21,

    syscall: 'read',

    code: 'EISDIR'

    }


    Kennt jemand den Fehler und weiß wie man das Problem lösen kann???

    Danke für eure Unterstützung!

    Gruß

    Andreas

  • Kennt jemand den Fehler und weiß wie man das Problem lösen kann???

    Deinen Beitrag habe ich mal hier her verschoben. In dem anderen Thread "Versionsupdates: iOS, macOS, Homebridge, npm, Node.js, Plugins, Apps, Firmware und sonstiges ..." in dem über aktuell verfügbare neue Versionen informiert wird, hat Deine Problemmeldung und Hilfegesucht nicht wirklich den richtigen Platz.

    Bitte zukünftig auf so etwas achten und ggf. vorab die Suche bemühen um in einem zumindest dem Thema entsprechenden vorhandenen Beitrag zu posten. SearchIcon.png

    Dank Dir dafür. Hilft allen.

    Gruß und weiterhin viel Erfolg.

    Hilfreich?

  • Update: Problem sitzt vor dem Bildschirm - hatte in der config.json ein Verzeichnis falsch eingetragen.

    Jetzt läuft Homebridge wieder mit der neuen NODE LTS Version :)


    Gruß

    Andreas

  • Schau mal unter "Anleitungen und Tools" bei Homebridge Befehlssammlung (dort dann bis fast ganz ans Ende scollen).

    Hier ist dann eine Anleitung für's update von Node 8)


    -----

    verdammt, sschust war wieder schneller ||

    gibts dazu nen link bitte? wär tolle, alle durchgescrolled und nichts gefunden. danke

  • Man kann sich auch den Node-Manager für den Pi laden, genannt "n"

    Code
    npm install -g n

    dort findet man auch eine kleine Anleitung zu Nutzung: Github




    Aber hier die Anleitung aus der Befehlssammlung:


    Node.js Backup vorher machen !!!
    Installieren curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash - sudo apt-get install -y nodejs
    Deinstallieren

    sudo apt remove nodejs

    Version node -v
    Update "Variante I" 1. Homebridge stoppen

    (Befehl siehe oben)


    2. sudo npm cache clean -f


    3. sudo npm install -g n


    4. sudo n stable

    (latest oder versionsnummer)


    5. sudo npm install -g --unsafe-perm homebridge@latest


    6. sudo npm i npm@latest -g



    7. node -v

    (Versionsnummer überprüfen)


    8. sudo reboot


    Update "Variante II" 1. Homebridge stoppen

    (Befehl siehe oben)


    2. wget https://nodejs.org/dist/v6.9.56.9.5-linux-armv7l.tar.gz

    (Versionsnummer anpassen nach Bedarf)


    3. tar -xvf node-v6.9.5-linux-armv7l.tar.gz

    (Versionsnummer anpassen nach Bedarf)


    4. cd node-v6.9.5-linux-armv7l

    (Versionsnummer anpassen nach Bedarf)


    5. sudo cp -R * /usr/local/


    6. cd


    7. sudo npm install -g --unsafe-perm homebridge@latest

    8. sudo npm i npm@latest -g


    9. node -v


    10. sudo reboot

    (Versionsnummer überprüfen)

  • Super danke für die Befehlssammlung. Habe jetzt lt. Variante 1 upgegradet auf die letzte node version, leider bekomme ich beim Neustart jetzt folgende Meldung:


    Code
    Dec 01 18:09:06 raspberrypi homebridge[706]: [01/12/2019, 18:09:06] [Config] Error: The module '/usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty/build/Release/pty.node'
    Dec 01 18:09:06 raspberrypi homebridge[706]: was compiled against a different Node.js version using
    Dec 01 18:09:06 raspberrypi homebridge[706]: NODE_MODULE_VERSION 57. This version of Node.js requires
    Dec 01 18:09:06 raspberrypi homebridge[706]: NODE_MODULE_VERSION 79. Please try re-compiling or re-installing
    Dec 01 18:09:06 raspberrypi homebridge[706]: the module (for instance, using `npm rebuild` or `npm install`).


    Hat da vielleicht jemand schnell ne Lösung für mich bevor ich stundenlag rumgoogle? Vielen Dank im voraus

  • Code
    sudo npm rebuild


    Ausführen in:

    cd /usr/lib/node_modules/ oder

    cd /usr/local/lib/node_modules/



  • super danke für die schnell hilfe, hab den Befehl jetz in cd /usr/local/lib/node_modules/ ausgeführt und bekam folgenden output:


  • Da bin ich jetzt überfragt, mal auf Expertenrat warten ... 🤔🤔

  • Ich habe nun ein Update von meinem Node durchgeführt und nun kann ich nicht mehr per Web Interface draufzugreifen und in HomeKit stehen die Geräte auf keine Antwort

    Wollte das Log kopieren aber leider ohne Erfolg darum der Screenshot

    Kann mir jemand sagen was der Fehler ist?

  • Installier es einfach neu:


    sudo npm install -g --unsafe-perm homebridge-config-ui-x

  • okay ja das konnte ich mittlerweile aus dem Fehler auch raus lesen das es neu installiert werden muss/soll.


    Danach sollte es dann wieder gehen oder?

    Ist ja nur der eine Fehler oder.


    Kannst Du mir noch sagen in was für einer Verbindung das dann steht das dann meine Geräte alle auf keine Antwort stehen, das Plugin ist doch eigentlich nur für die Benutzeroberfläche oder?

  • Kannst Du mir noch sagen in was für einer Verbindung das dann steht das dann meine Geräte alle auf keine Antwort stehen, das Plugin ist doch eigentlich nur für die Benutzeroberfläche oder?

    Die Homebridge startet das Plugin, und wenn das Plugin nicht gestartet werden kann und dabei Fehler erzeugt werden, dann kann auch die Homebridge nicht starten und beendet sich wieder. Das steht da ja auch: Got SIGTERM, shutting down Homebridge.... Wenn du keine laufende Homebridge hast, dann antworten halt die daran angeschlossenen Geräte auch nicht..


    Die Verbindung lautet also: Nur eine laufende Homebridge funktioniert.


    Danach sollte es dann wieder gehen oder?

    Bloß nicht ausprobieren. Das bringt nur neue Erkenntnisse.


    Wollte das Log kopieren aber leider ohne Erfolg darum der Screenshot

    Woran scheiterst du da? Log anhalten mit crtl-c, dann markieren, kopieren und hier einfügen.


    Stefan