Node.js und npm Update auf Raspberry Pi mit Homebridge (so Klappt´s auf alle Fälle)

  • Nun ist es auch über die UI-X Suche zu finden "broadlink rm4"

  • Hätte eine kurze Frage muss vor einem Node Update immer ein Backup der SD Karte gemacht werden oder kann einfach sudo n lts ausgeführt werden?

    Momentan bin ich auf 12.16.3

  • Hätte eine kurze Frage muss vor einem Node Update immer ein Backup der SD Karte gemacht werden oder kann einfach sudo n lts ausgeführt werden?

    Ich mach's immer so. ohne Backup.

  • Ich mach's immer so. ohne Backup.

    gerade auf 12.18 geupdatet. Mut zur Lücke. wenns schief geht ist das relativ einfach zu reparieren.

    //.ichael

    -----------------------------------


  • gerade auf 12.18 geupdatet. Mut zur Lücke. wenns schief geht ist das relativ einfach zu reparieren.

    und wie wäre es einfach wenn es schief geht

  • mit n ?


    Code
    sudo n <version>

    da trägst du die Version ein, die du wieder haben willst ... oder mach mal n --help


    ansonsten guckst du in die Installation Anleitung hier, das gibt es auch die Möglichkeit:

    Version runterladen, auspacken, kopieren ...


    aber wenn du eh schon drauf hast - passt das ja.

    //.ichael

    -----------------------------------


  • okay Danke für den Fall das es mal nicht klappen sollte

  • Lars83 : Es gibt von Node verschiedene Softwarestände. Die Entwickler arbeiten gleichzeitig an verschiedenen Versionen. Einmal sind sie mit der neuesten Version beschäftigt (latest) und dann pflegen sie eine bestimmte Version über längere Zeit. Das ist die sogenannte Long Time Support-Version (lts).


    Die LTS-Versionen erfahren nie irgendwelche Neuerungen, sondern nur noch Fehlerkorrekturen. Die augenblickliche LTS-Version ist die Version 12. Zu der gehört auch die Version 12.18.0. Sie hat die letzte LTS-Version 10 abgelöst und deren Vorgänger war die Version 8.


    Die neueste stabile Version ist die Version 14. Hier sind neue Funktionen eingebaut oder Überflüssiges ausgebaut und man hat damit Änderungen zu letzten Version. Stabil (stable) bedeutet, dass die Version fertig ist und Fehlerkorrekteren erhält. Diese Version wird die nächste LTS-Version werden.


    Wie du siehst, beinhalten alle Versionsnummer gerade Zahlen (8, 10, 12, 14). Es gibt aber auch ungerade (9, 11, 13, 15). Das sind Versionen, an denen Entwickler aktiv arbeiten oder gearbeitet haben (unstable). Hier ändert sich im Zweifel täglich etwas. Vom Einsatz dieser Versionen ist für Endanwender wie uns absolut abzuraten. Aber Programmierer testen damit gern die Zukunft ihrer Software. Aus der Version 15, an der der neueste Shice ausprobiert wird, entsteht dann die Version 16, wenn die übelsten Fehler ausgemerzt sind.


    Bei Änderungen von Softwareschnittstellen, die Node bereitstellt, damit Programmierer daraus eine Homebridge und auch Plugins machen können , muss man immer darauf achten, ob sie funktionierende auf Node basierende Software kaputtmachen oder nicht. Das bedeutet, dass das Update einer Node-Version deine Homebridge komplett lahmlegen kann, weil irgendein Plugin mit der neuen Node-Version nicht mehr zurechtkommt. Das kann äußerst ärgerlich sein.


    Verwendet man die LTS-Versionen und alles läuft wie es soll, dann macht ein Update gar nichts aus. Wenn deine Homebridge unter 12.14.1 läuft, dann ist ein Update auf 12.18.0 mit nahezu hundertprozentiger Wahrscheinlichkeit unschädlich, denn es bleibt ja bei Version 12. Will man auf die neueste Version 14 wechseln, dann könnte das schon anders aussehen. Könnte, wohlgemerkt.


    Die nächste LTS-Version basierend auf Version 14 kommt im Oktober. Das steht zumindest hier. Natürlich ist niemand gezwungen, den Wechsel mitzumachen, zumindest ein paar Jahre lang. Aber es kann sein, dass man in die Situation gerät, das neue Plugins unbedingt die Version 14 verlangen. Aber das Problem löst man besten dann, wenn es auftritt. Und der Satz never change a running system ist ja auch nicht Bestandteil eines Kinderliedes, sondern das Ergebnis von Blut, Schweiß und Tränen.


    Ich selbst verwende immer die LTS-Version und mache das Update mit sudo n lts. Es gibt aber reichlich andere Anwender hier im Forum, die sind mutiger und verwenden die letzte Node-Version 14, die sie mit sudo n latest installiert haben. Ich werde mit Version 14 also erst im Oktober Bekanntschaft schließen. Jeder halt wie er kann und will :D

  • Danke sschuste für die Aufklärung, demnach fährt man immer am besten mit der LTS Version wenn man so wie ich Angst hat sich was kaputt zu machen 😂

    Kann man irgendwie nachschauen wenn eine neue LTS Version verfügbar ist eventuell mit einem Befehl am Raspi oder geht das nur über die von dir erwähnte Seite?
    https://github.com/nodejs/Release

  • Du bekommst es bestimmt hier im Forum mit. Außerdem erinnert ich mich vage an einen Hinweis, dass wohl homebridge-config-ui-x das auch anzeigt, wenn ein Major-Versionswechsel ansteht.

  • homebridge-config-ui-x das auch anzeigt, wenn ein Major-Versionswechsel ansteht.

    Japs beim scrollen über die Version-> tooltip-

    //.ichael

    -----------------------------------


  • Japs beim scrollen über die Version-> tooltip-

    Wie genau muss ich das verstehen?

    Mit der Maus auf die Version, oder wie?

  • Mit der Maus auf die Version, oder wie?

    Ja.

  • Wie genau muss ich das verstehen?

    Mit der Maus auf die Version, oder wie?

    im Mouseover zeigt er die die neue Version an - aber installieren muss du noch immer händisch.

    //.ichael

    -----------------------------------


  • Code
    sudo npm install -g npm-check

    dann mit

    Code
    sudo npm-check -gu

    starten, mit leertaste aktivieren was aktualisiert werden soll und dann Enter

    :)

    "npm-check" funktioniert bei mir leider quasi gar nicht.

    "Einfache" Plugins gehen gerade mal so:

    Code
    node-persist   😎  MAJOR UP  Major update available. https://github.com/simonlast/node-persist#readme
    
    npm install --save [email protected] to go from 2.1.0 to 3.1.0
    
    Use npm-check -u for interactive update.

    Aber sonst gehts nicht weiter - spätestens, wenn die Plugins in "Truetype" sind...

  • sschuste, ich folge Deinem Vorschlag, komme jedoch bei "sudo n lts" nicht über die 10.22 hinaus. Hätte erwartet eine 12er Version zu erhalten. Was übersehe ich? Danke vorab...

  • ich folge Deinem Vorschlag, komme jedoch bei "sudo n lts" nicht über die 10.22 hinaus. Hätte erwartet eine 12er Version zu erhalten. Was übersehe ich?

    Vielleicht ist dein Raspi zu alt / zu klein? Die 12er-Version braucht schon einen Raspi3 oder größer.

  • Vielleicht ist dein Raspi zu alt / zu klein? Die 12er-Version braucht schon einen Raspi3 oder größer.

    Dankemann!! Ich prüfe das. Hatte zuvor 12 am laufen, dann bin ich auf Deinen Hinweis aufmerksam geworden. Das kann durchaus der Grund dafür sein, dass er sich gerne mal aufgehängt hat.


    Grüße aus Heidelberg....

  • Ist der Befehl wichtig, bzw. wofür steht er? Bei mir kannte er den Parameter nicht.


    Beste Grüße





  • Ist der Befehl wichtig, bzw. wofür steht er? Bei mir kannte er den Parameter nicht.

    Frei nach Steve Jobs: du liest es falsch.


    homebridge -I

    Das ist kein kleines L, sondern ein großes i. Und der Befehl homebridge wird homebridge geschrieben und nicht Homebridge.


    Der Befehl homebridge ruft das Programm homebridge auf. Der Parameter -I steht für insecure. Die Homebridge soll also in einem unsicheren Modus aufgerufen werden. Hört sich dramatischer an, als es ist. Es bedeutet, dass aus dem Netzwerk etwas "freier" auf die Homebridge zugegriffen werden kann und sie leichter ferngesteuert werden kann. Manche Plugins hätten das gern wie zum Beispiel homebridge-alexa und homebridge-config-ui-x. Ich empfehle diese Einstellung.


    Es gibt einen weiteren Parameter, der sehr wichtig ist: -U <Pfad>

    Dieser Parameter legt das Verzeichnis fest, in dem sich config.json befindet und in dem alle möglichen Dateien gespeichert werden, die die Homebridge gern hätte. Meine config.json liegt im Verzeichnis /var/homebridge, also rufe ich meine Homebridge auf mit:


    homebridge -I -U /var/homebridge


    Es gibt noch andere Parameter, die man verwenden kann:

    -Q: Blendet den QR-Code, der beim Starten von Homebridge im Homebridge-Log gezeigt wird, aus.

    -C: macht das Homebridge-Log farbig.


    Will man das haben, lautet der Homebridge-Startbefehl also:

    homebridge -I -C -Q -U /var/homebridge