Homebridge unter Ubuntu

  • In Post Nr. 2 hatte ich gefragt: woher kommt die Node-Version 8.10.0? Hast du die installiert? War sie schon drauf? Frag ich jetzt nochmal.


    Du hast jetzt die neue Node-Version 10 "händisch" installiert und sie liegt nun wahrscheinlich in /usr/local/bin. Man sollte sie sehen können mit

    ls -l /usr/local/bin


    "Händisch installiert" bedeutet, dass du sie mit eigener Kraft heruntergeladen hast, sie ausgepackt und sie irgendwohin kopiert hast. Sowas macht man heutzutage eigentlich nicht mehr, sondern verwendet einen Paketmanager. Alle Betriebssysteme haben sowas, man kennt sie als Windows-Installer oder Mac-Installer: Doppelklick und die Installationsroutine läuft los. Auch auf dem iPhone und den Androiden ist das so. Und auch unter Linux ist das so. Nur kann man es hier auch anders machen.


    Und leider Ist Node ein[e] <obszöner Kraftausdruck>.


    Ich spekuliere jetzt mal (und liege damit bestimmt richtig): Die Node-Version 8, die sich vordrängelt, liegt bestimmt in /usr/bin (ein which node wird das möglicherweise zeigen) und sie ist bestimmt mit dem Ubuntu-Paketmanager installiert worden (also mit apt-get install oder ähnlichem). Vielleicht war sie auf dem Ubuntu-Image, das du installiert hast, schon drauf. Wen dem so ist, dann muss sie weg.


    Kann man testen: mit dpkg -l wird eine Liste aller installierten Programme angezeigt, die durch einen Paketmanager auf das System gekommen sind (was ja für deine händisch installierte Node 10-Version nicht gilt). Taucht dort Node 8 auf, dann muss es deinstalliert werden mit:

    sudo apt-get --purge remove node


    Versuchs mal.


    Stefan

  • reboot tut gut - jetzt ist version v 10 im Einsatz :)

    @sschuste


    sry das ich diese Frage bis jetzt nicht beantwortet habe.

    Node war von Anfang an, direkt nach der Ubuntu installation drauf.


    Node liegt unter usr/local/bin/node


    Wie würde ich node denn zukünftig aktualisieren, wenn ich es nicht händisch machen machen möchte?


    Problem:

    Jetzt startet homebridge nicht mehr:


    pi@pi:~$ sudo journalctl -f -au homebridge

    -- Logs begin at Mon 2018-07-16 11:53:04 CEST. --

    Jul 22 13:58:17 pi homebridge[4846]: at Function.Module._load (internal/modules/cjs/loader.js:530:3)

    Jul 22 13:58:17 pi homebridge[4846]: at Module.require (internal/modules/cjs/loader.js:637:17)

    Jul 22 13:58:17 pi homebridge[4846]: at require (internal/modules/cjs/helpers.js:20:18)

    Jul 22 13:58:17 pi homebridge[4846]: at bindings (/usr/local/lib/node_modules/homebridge/node_modules/bindings/bindings.js:81:44)

    Jul 22 13:58:17 pi homebridge[4846]: at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/ed25519-hap/index.js:1:99)

    Jul 22 13:58:17 pi homebridge[4846]: at Module._compile (internal/modules/cjs/loader.js:689:30)

    Jul 22 13:58:17 pi homebridge[4846]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)

    Jul 22 13:58:17 pi systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE

    Jul 22 13:58:17 pi systemd[1]: homebridge.service: Failed with result 'exit-code'.

    Jul 22 13:58:24 pi systemd[1]: Stopped Node.js HomeKit Server.

    Einmal editiert, zuletzt von vice3618 ()

  • habe den Snapshot wiederhergestellt, BEVOR das Update von Node durchgeführt wurde.

    Also noch mal auf Anfang :/


    Wie aktualisiere ich Node ohne manuelles Update, sondern via Paketmanager, so wie von euch empfohlen ?

  • pi@pi:~$ tail -f /var/log/message

    tail: '/var/log/message' kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden

    tail: Keine Dateien mehr übrig

  • Ich schätze, du solltest nach dem Node-Update homebridge auch noch mal installieren. Immerhin ist deine Homebridge eine ganz andere Node-Version gewöhnt :)


    Alternativ kannst du versuchen, die vorhandene Installation mit

    cd /usr/local/lib/node_modules/

    sudo node-gyp rebuild


    zu reparieren.


    Stefan

  • so, noch mal.

    habe jetzt eine automatische Aktualisierung von node durchgeführt (so wie es in der Befehlssammlung steht)

    auch homebridge wurde dabei neu installiert.


    Lässt sich dennoch nicht starten:


    -- Logs begin at Mon 2018-07-16 11:53:04 CEST. --

    Jul 22 21:49:26 pi homebridge[1699]: at tryModuleLoad (internal/modules/cjs/loader.js:538:12)

    Jul 22 21:49:26 pi homebridge[1699]: at Function.Module._load (internal/modules/cjs/loader.js:530:3)

    Jul 22 21:49:26 pi homebridge[1699]: at Module.require (internal/modules/cjs/loader.js:637:17)

    Jul 22 21:49:26 pi homebridge[1699]: at require (internal/modules/cjs/helpers.js:20:18)

    Jul 22 21:49:26 pi homebridge[1699]: at bindings (/usr/local/lib/node_modules/homebridge/node_modules/bindings/bindings.js:81:44)

    Jul 22 21:49:26 pi homebridge[1699]: at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/ed25519-hap/index.js:1:99)

    Jul 22 21:49:26 pi homebridge[1699]: at Module._compile (internal/modules/cjs/loader.js:689:30)

    Jul 22 21:49:26 pi homebridge[1699]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)

    Jul 22 21:49:26 pi systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE

    Jul 22 21:49:26 pi systemd[1]: homebridge.service: Failed with result 'exit-code'.

    Jul 22 21:49:36 pi systemd[1]: homebridge.service: Service hold-off time over, scheduling restart.

    Jul 22 21:49:36 pi systemd[1]: homebridge.service: Scheduled restart job, restart counter is at 13.

    Jul 22 21:49:36 pi systemd[1]: Stopped Node.js HomeKit Server.

    Jul 22 21:49:36 pi systemd[1]: Started Node.js HomeKit Server.

    Jul 22 21:49:36 pi homebridge[1709]: /usr/local/lib/node_modules/homebridge/node_modules/bindings/bindings.js:88

    Jul 22 21:49:36 pi homebridge[1709]: throw e

    Jul 22 21:49:36 pi homebridge[1709]: ^

    Jul 22 21:49:36 pi homebridge[1709]: Error: The module '/usr/local/lib/node_modules/homebridge/node_modules/ed25519-hap/build/Release/ed25519.node'

    Jul 22 21:49:36 pi homebridge[1709]: was compiled against a different Node.js version using

    Jul 22 21:49:36 pi homebridge[1709]: NODE_MODULE_VERSION 57. This version of Node.js requires

    Jul 22 21:49:36 pi homebridge[1709]: NODE_MODULE_VERSION 64. Please try re-compiling or re-installing

    Jul 22 21:49:36 pi homebridge[1709]: the module (for instance, using `npm rebuild` or `npm install`).

    Jul 22 21:49:36 pi homebridge[1709]: at Object.Module._extensions..node (internal/modules/cjs/loader.js:718:18)

    Jul 22 21:49:36 pi homebridge[1709]: at Module.load (internal/modules/cjs/loader.js:599:32)

    Jul 22 21:49:36 pi homebridge[1709]: at tryModuleLoad (internal/modules/cjs/loader.js:538:12)

    Jul 22 21:49:36 pi homebridge[1709]: at Function.Module._load (internal/modules/cjs/loader.js:530:3)

    Jul 22 21:49:36 pi homebridge[1709]: at Module.require (internal/modules/cjs/loader.js:637:17)

    Jul 22 21:49:36 pi homebridge[1709]: at require (internal/modules/cjs/helpers.js:20:18)

    Jul 22 21:49:36 pi homebridge[1709]: at bindings (/usr/local/lib/node_modules/homebridge/node_modules/bindings/bindings.js:81:44)

    Jul 22 21:49:36 pi homebridge[1709]: at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/ed25519-hap/index.js:1:99)

    Jul 22 21:49:36 pi homebridge[1709]: at Module._compile (internal/modules/cjs/loader.js:689:30)

    Jul 22 21:49:36 pi homebridge[1709]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)

    Jul 22 21:49:36 pi systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE

    Jul 22 21:49:36 pi systemd[1]: homebridge.service: Failed with result 'exit-code'.

  • Dein Befehl bringt folgenden Fehler: