Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [How-to] Node.js ioBroker richtig updaten-2021/22 Edition

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

[How-to] Node.js ioBroker richtig updaten-2021/22 Edition

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
812 Beiträge 97 Kommentatoren 365.6k Aufrufe 83 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mickymM mickym

    @chaot Und wie gesagt wenn Du die löscht geht insallation sehr viel schneller.

    ChaotC Offline
    ChaotC Offline
    Chaot
    schrieb am zuletzt editiert von
    #442

    @mickym Danke. Das Löschen der Datei und danach noch ein npm prune haben bei mir scheinbar alles zurechtgedengelt.
    Zumindest habe ich aktuell keine Error mehr bei NPM und der ioBroker scheint zu laufen.

    ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

    1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      @mickym sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

      meine alte war uralt von 2019

      und seitdem nicht geändert?
      dann war bei der Installation schon was faul

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #443

      @homoran Meine Installation ist genauso alt wie die Datei. ;) - und ich kann nichts negatives feststellen.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Antwort Letzte Antwort
      0
      • ? Ein ehemaliger Benutzer

        Bei npm sagt iobroker dass es die Version 8.12.1 gibt:
        IMG_20220619_214904.jpg
        Muss/sollte man das auch updaten?

        apollon77A Offline
        apollon77A Offline
        apollon77
        schrieb am zuletzt editiert von apollon77
        #444

        @brainbug Nein! Ich habe mal https://github.com/iobroker-community-adapters/ioBroker.info/issues/458 angelegt das der Info Adapter diese Empfehlung lässt

        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
        1 Antwort Letzte Antwort
        1
        • ChaotC Chaot

          @homoran Meine ist seltsamerweise auch so alt:

          ls -la /opt/iobroker/package-lock.json
          -rwxrwxrwx+ 1 iobroker iobroker 165242 Mar  5  2019 /opt/iobroker/package-lock.json
          
          crunchipC Abwesend
          crunchipC Abwesend
          crunchip
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #445

          @chaot sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

          ls -la /opt/iobroker/package-lock.json

          dito, meine vom 3.Juni 2019

          umgestiegen von Proxmox auf Unraid

          1 Antwort Letzte Antwort
          0
          • apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #446

            Wie gesagt früher haben wir die package-lock Nutzung deaktiviert ... Wer eine solch "alte" Installation hat der hat das noch so ... geht auch alles - dauert manchmal länger bei npm Installs. Es hat noch keiner wirklich getestet was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert. Wenn dazu jemand Lust hat bitte melden dann gehen wir das mal Strukturiert an :-)

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            mickymM 1 Antwort Letzte Antwort
            0
            • apollon77A apollon77

              Wie gesagt früher haben wir die package-lock Nutzung deaktiviert ... Wer eine solch "alte" Installation hat der hat das noch so ... geht auch alles - dauert manchmal länger bei npm Installs. Es hat noch keiner wirklich getestet was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert. Wenn dazu jemand Lust hat bitte melden dann gehen wir das mal Strukturiert an :-)

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #447

              @apollon77 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

              Wie gesagt früher haben wir die package-lock Nutzung deaktiviert ... Wer eine solch "alte" Installation hat der hat das noch so ... geht auch alles - dauert manchmal länger bei npm Installs. Es hat noch keiner wirklich getestet was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert. Wenn dazu jemand Lust hat bitte melden dann gehen wir das mal Strukturiert an :-)

              Nein - scheint also alles OK zu sein, dann brauche ich das auch nicht. Wenn ihr das abgeschaltet habt und auch alles so geht, dann sehe ich keinen Grund, warum man das nun einschalten müsste. Ihr müsstet Euch halt nur bewusst sein, dass auch alte Erstinstallationen immer schön aktuell gehalten werden. ;) Dann ist also nichts faul an meiner Installation und freue mich, dass alles wieder so performant läuft. Wie gesagt, ich hatte nur eine so alte Datei aus 2019 die ich gelöscht habe, da es erstens Fehler bei npm list geworfen hat und eine Installation unendlich lange gedauert hat. Jetzt geht das bei mir ratz fatz.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              HomoranH 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @apollon77 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                Wie gesagt früher haben wir die package-lock Nutzung deaktiviert ... Wer eine solch "alte" Installation hat der hat das noch so ... geht auch alles - dauert manchmal länger bei npm Installs. Es hat noch keiner wirklich getestet was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert. Wenn dazu jemand Lust hat bitte melden dann gehen wir das mal Strukturiert an :-)

                Nein - scheint also alles OK zu sein, dann brauche ich das auch nicht. Wenn ihr das abgeschaltet habt und auch alles so geht, dann sehe ich keinen Grund, warum man das nun einschalten müsste. Ihr müsstet Euch halt nur bewusst sein, dass auch alte Erstinstallationen immer schön aktuell gehalten werden. ;) Dann ist also nichts faul an meiner Installation und freue mich, dass alles wieder so performant läuft. Wie gesagt, ich hatte nur eine so alte Datei aus 2019 die ich gelöscht habe, da es erstens Fehler bei npm list geworfen hat und eine Installation unendlich lange gedauert hat. Jetzt geht das bei mir ratz fatz.

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #448

                @mickym sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                Wenn ihr das abgeschaltet habt

                hattet! früher.
                in aktuellen Installationen wird die Funktionalität genutzt.

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                crunchipC 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @mickym sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                  Wenn ihr das abgeschaltet habt

                  hattet! früher.
                  in aktuellen Installationen wird die Funktionalität genutzt.

                  crunchipC Abwesend
                  crunchipC Abwesend
                  crunchip
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #449

                  @homoran das heisst, wieder aktivieren bzw wie?

                  umgestiegen von Proxmox auf Unraid

                  apollon77A 1 Antwort Letzte Antwort
                  0
                  • crunchipC crunchip

                    @homoran das heisst, wieder aktivieren bzw wie?

                    apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #450

                    @crunchip Siehe meine Worte 3 Posts weiter oben:

                    Es hat noch keiner wirklich getestet was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert. Wenn dazu jemand Lust hat bitte melden dann gehen wir das mal Strukturiert an 🙂

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    crunchipC 1 Antwort Letzte Antwort
                    0
                    • apollon77A apollon77

                      @crunchip Siehe meine Worte 3 Posts weiter oben:

                      Es hat noch keiner wirklich getestet was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert. Wenn dazu jemand Lust hat bitte melden dann gehen wir das mal Strukturiert an 🙂

                      crunchipC Abwesend
                      crunchipC Abwesend
                      crunchip
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #451

                      @apollon77 hatte ich gelesen, aber nicht verstanden wie das genau gemeint war.
                      Bzw fehlt das nötige Hintergrund Wissen für was dies früher aktiv war, dann deaktiviert und in neuen Installationen wieder genutzt wird.

                      umgestiegen von Proxmox auf Unraid

                      1 Antwort Letzte Antwort
                      0
                      • HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #452

                        Nicht dass ich das vollständige Wissen dazu hätte!

                        So wie ich das verstanden habe soll das package lock dafür sorgen, dass einzelne Pakte auf einer definierten Version "eingefroren" werden und nicht zu Problemen führt, wenn Adapter diese Pakete als Abhängigkeiten besitzen und möglicherweise deren neuere Versionen dann zu Problemen bei dem Adapter führen könnten.

                        Ob und wie diese package-lock funktion aktiviert werden kann müsste @apollon77 sagen, aber wie er schreibt wäre das erst einmal nur in einzelnen Testinstallationen sinnvoll, um zu sehen

                        @apollon77 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                        was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert.

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        Meister MopperM 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          Nicht dass ich das vollständige Wissen dazu hätte!

                          So wie ich das verstanden habe soll das package lock dafür sorgen, dass einzelne Pakte auf einer definierten Version "eingefroren" werden und nicht zu Problemen führt, wenn Adapter diese Pakete als Abhängigkeiten besitzen und möglicherweise deren neuere Versionen dann zu Problemen bei dem Adapter führen könnten.

                          Ob und wie diese package-lock funktion aktiviert werden kann müsste @apollon77 sagen, aber wie er schreibt wäre das erst einmal nur in einzelnen Testinstallationen sinnvoll, um zu sehen

                          @apollon77 sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                          was passiert wenn man in all möglichen Konstellationen diese Einstellung nachträglich ändert.

                          Meister MopperM Abwesend
                          Meister MopperM Abwesend
                          Meister Mopper
                          schrieb am zuletzt editiert von
                          #453

                          @crunchip
                          Da ich weiß, dass wir eine (annähernd) ähnliche Konfiguration haben würde es mich interessieren, ob Du nach dem Upgrade auf nodeJs 16 auch ein Problem mit dem chromecast Adapter hast.

                          Es werden bei mir per Skript keine Radiosender abgespielt.

                          Ein Issue habe ich bereits in github aufgemacht.

                          Proxmox und HA

                          crunchipC 1 Antwort Letzte Antwort
                          0
                          • Meister MopperM Meister Mopper

                            @crunchip
                            Da ich weiß, dass wir eine (annähernd) ähnliche Konfiguration haben würde es mich interessieren, ob Du nach dem Upgrade auf nodeJs 16 auch ein Problem mit dem chromecast Adapter hast.

                            Es werden bei mir per Skript keine Radiosender abgespielt.

                            Ein Issue habe ich bereits in github aufgemacht.

                            crunchipC Abwesend
                            crunchipC Abwesend
                            crunchip
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #454

                            @meister-mopper hatte nur kurzzeitig v16 um zu sehen was auf mich zukommt, bei mir läuft nach wie vor noch v14.
                            Des weiteren hab ich chromecast v3.0.1 am laufen

                            umgestiegen von Proxmox auf Unraid

                            Meister MopperM 1 Antwort Letzte Antwort
                            0
                            • crunchipC crunchip

                              @meister-mopper hatte nur kurzzeitig v16 um zu sehen was auf mich zukommt, bei mir läuft nach wie vor noch v14.
                              Des weiteren hab ich chromecast v3.0.1 am laufen

                              Meister MopperM Abwesend
                              Meister MopperM Abwesend
                              Meister Mopper
                              schrieb am zuletzt editiert von
                              #455

                              @crunchip sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                              Des weiteren hab ich chromecast v3.0.1 am laufen

                              Sehr interessant. Vielleicht ist das was für mich.

                              Was muss aus Deiner Erfahrung heraus bei der Umstellung beachtet werden? Was muss geändert werden?

                              Proxmox und HA

                              crunchipC 1 Antwort Letzte Antwort
                              0
                              • Meister MopperM Meister Mopper

                                @crunchip sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                                Des weiteren hab ich chromecast v3.0.1 am laufen

                                Sehr interessant. Vielleicht ist das was für mich.

                                Was muss aus Deiner Erfahrung heraus bei der Umstellung beachtet werden? Was muss geändert werden?

                                crunchipC Abwesend
                                crunchipC Abwesend
                                crunchip
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #456

                                @meister-mopper du brauchst die zusätzlich genannten Adapter und im sayit musst du entsprechend das Gerät(mac-adresse) auswählen
                                https://forum.iobroker.net/topic/50036/test-adapter-chromecast-v3-0-x

                                umgestiegen von Proxmox auf Unraid

                                1 Antwort Letzte Antwort
                                0
                                • apollon77A apollon77

                                  MOD-EDIT: Diese Anleitung ist veraltet. Update und Fix der nodejs Installation ist mittlerweile in dem Befehl iob nodejs-update enthalten

                                  Hi,

                                  in diesem Artikel möchte ich einen Überblick geben, wie inzwischen (meint anno 2021 mit einem js-controller 3.x bzw 4.x) Node.js Updates bei ioBroker ausgeführt werden sollten bzw können.

                                  Was ist Node.js und warum muss man es updaten?

                                  Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht. Node.js hast Du initial selbst installiert oder der ioBroker-Installer hat dies für dich getan.

                                  Wie bei vielen Open-Source-Technologien üblich, entwickelt sich Node.js schnell weiter. Kleinere Updates, die die Stabilität und Sicherheit steigern oder gar neue Funktionen hinzufügen, erscheinen regelmäßig.

                                  Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 12.x). Jedes Jahr kommt eine neue Version ins LTS - in diesem Jahr (2021) ist das Node.js 16, welche im April veröffentlicht wurde und ab Oktober 2021 eine LTS Version wird.

                                  Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 8 im April 2020 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 10.x wird Ende April 2021 Ihr Lebensende erreichen. Es wird also keine Sicherheits-Updates mehr geben! Node.js 12.x wird im April 2022 eol geben.

                                  Alle Node.js-Versionen mit ungeraden Versionsnummern sind Entwicklungsversionen und sollten nicht produktiv genutzt werden.

                                  ioBroker nutzt viele Module und Erweiterungen aus der JavaScript Open-Source Szene, und dort kommt es regelmäßig vor, dass Versionen die EOL gehen zeitnah danach auch nicht weiter unterstützt werden. Das hat im ersten Schritt keine echte Auswirkung, aber mittelfristig wird es also Adapter, und später auch den js-controller geben, der EOL Versionen von Node.js nicht mehr unterstützt.

                                  Node.js 10 wird mit dem js-controller 3.x voll unterstützt. Ab dem js-controller 4.0 (Februar 2022) ist Node.js 10.x nicht mehr untertsützt.

                                  Auf welche Node.js Version updaten?

                                  Aktuell empfiehlt ioBroker die Nutzung von Node.js 16.x.

                                  Folgende Adapter haben momentan Probleme mit Node.js 14:

                                  • jeelink

                                  Folgende Adapter haben momentan Probleme mit Node.js 16:

                                  • jeelink?

                                  *Node.js 16.x wird auch vom js-controller 3.3 grundsätzlich unterstützt, aber nur mit npm 6! npm 7 bzw 8 sind mit dem js-controller 4.0 nutzbar.

                                  Update vorbereiten

                                  Node.js Version prüfen

                                  Bevor man beginnt, sollte man in der Befehlszeile mit dem Befehl

                                  node -v
                                  

                                  überprüfen, welche Version von Node.js gerade installiert ist. Eine gute Idee ist es, diese Versionsangabe auch mit der Node.js-Version im Übersichts-Fenster des ioBroker-Admins für diesen Host zu vergleichen. Sollten sich die Versionen unterscheiden, sind mehrere Node.js-Varianten installiert, was zu Problemen führen kann. Diese Probleme müssen VOR dem Update dann behoben werden! Anleitung zB unter https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian/2

                                  Betriebssystem prüfen

                                  Dann auch prüfen was man für ein Betriebssystem hat. Vor allem im Raspi Umfeld sind gern auch älterer Systeme auf basis von "Debian jessie" oder "Debian wheezy" im Einsatz. Für die gibt es nichts was höher ist als Nodejs 10, da steht dann ggf auch ein Betriebssystemupdate an, was wir hier aber nicht behandeln können.
                                  Unterstützte Linux Distributionen sind unter https://github.com/nodesource/distributions#debian-and-ubuntu-based-distributions aufgelistet.
                                  Unter Debian und Ubuntu gibt es mit lsb_release -a eine Ausgabe was man aktuell nutzt.

                                  js-controller Version prüfen

                                  Weiterhin bitte prüfen welche js-controller Version Installiert ist (ebenfalls auf dem Host-Tab im Admin einsehbar).
                                  Bei Versionen VOR js-controller 3.x, wenn möglich bitte zuerst den js-controller aktualisieren. Am besten auf mindestens die 3.2! Hierzu gibt es extra Threads im Forum wie z.B. https://forum.iobroker.net/topic/42385/js-controller-3-2-jetzt-im-stable bzw https://forum.iobroker.net/topic/52886/js-controller-4-0-x-jetzt-für-alle-user-im-stable

                                  Adapter aktualisieren

                                  Damit es nach dem Update zu keinen Inkompatibilitäten oder Probleme kommt, sollte man alle Adapter prüfen und aktualisieren. Vor allem Adapter mit nativen Bestandteilen, wie alles mit Serialport oder Bluetooth können Probleme bereiten. Hier am besten die Adapter-Readme's per Admin oder im GitHub prüfen, ob neue Versionen zur Verfügung stehen die die geplante Node.js Version explizit erst unterstützen.

                                  Bei Updates wo es größere Versionssprünge bei npm gibt (zb Node.js 14->16 updated npm von 6.x auf 8.x) kann es sehr hilfreich sein wenn man schaut ob Adapter die von GitHub installiert wurden inzwischen in der gleichen version auf auf npm liegen und dann ggf von dort nochmals installieren oder updaten. Im Admin werden Adapter die per GitHub installiert wurden gesondert mit einem GitHub Symbol angezeigt. Das hilft auch im Vorfeld Probleme zu vermeiden.

                                  Wenn man diesen Schritt nicht durchführt kann es zu unnötigen Problemen beim update der Adapter kommen!

                                  Backup erstellen

                                  Zuerst muss natürlich unbedingt ein Backup erstellt werden. Dazu kann z.B. der BackItUp-Adapter genutzt oder der Kommandozeilenbefehl

                                  cd /opt/iobroker
                                  iobroker backup
                                  

                                  ausgeführt werden. Das Backup sollte aktuell sein, damit möglichst keine Daten verloren gehen.

                                  Node.js updaten

                                  Für Windows-Systeme kann ich leider gerade nichts genaues sagen, wir schauen das wir das noch ergänzen. Aufruf an die Community: Wer Schritte hat gern als eigener Post oder hier einbringen :-) Danke
                                  Einen Post aus der Community gab es dazu: https://forum.iobroker.net/post/624003

                                  Linux-Systeme

                                  ioBroker stoppen
                                  Zuerst ioBroker stoppen, damit Updates keine Nebeneffekte oder Abstürze verursachen.

                                  iobroker stop
                                  

                                  Bitte anschließend im Webbrowser prüfen, dass der ioBroker-Admin danach wirklich nicht mehr läuft. Sollte er weiterhin aufrufbar sein, dann den Rechner neu starten und nochmals „iobroker stop“ ausführen und erneut testen. Für die Techniker unter uns: Man kann auch mit einem Tool wie "top" prüfen, ob noch Prozesse existieren, die mit "io." beginnen. Die dann am besten mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.

                                  Node.js updaten
                                  Jetzt aktualisiert man Node.js auf die gewünschte neue Version.

                                  Unter Linux reicht es, dazu den Nodesource-Installationsbefehl für das jeweilige Betriebssystem auszuführen. Verschiedene Varianten (auch Root und Nicht-Root) sind unter https://github.com/nodesource/distributions#debinstall gelistet.

                                  Zum Beispiel lauten die Befehle für einen Raspberry Pi der ein Debian bzw. Raspbian-Image verwendet wie folgt, wenn man nicht als root-User (z.B. richtig mit dem User "pi") angemeldet ist:

                                  curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
                                  sudo apt install -y nodejs
                                  

                                  Für Node.js 16 einfach in der URL oben anstelle der 14 eine 16 reinschreiben.

                                  Für macOS gibt einen Installer auf https://nodejs.org/en/download/ , den man einfach ausführt.

                                  Ob die Aktualisierung geklappt hat, kann man wieder mit dem Befehl

                                  node -v
                                  

                                  überprüfen.

                                  Auch die npm Version sollte mit

                                  npm -v
                                  

                                  geprüft werden. Mit einem js-controller <4 sicherstellen das idealerweise keine 7.x/8.x von npm installiert ist!

                                  ioBroker fixer ausführen
                                  Da die Installation von Node.js einige Einstellungen am System verändert haben kann, ist es jetzt ratsam, den ioBroker-Installationsfixer aufzurufen. Das geschieht mit dem Befehl

                                  iobroker fix
                                  

                                  Er stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her und prüft und korrigiert alle Berechtigungen. Das kann einen Augenblick dauern, bitte Geduld haben.

                                  Erster ioBroker Neustart NACH Update

                                  Einige genutzte JavaScript Module haben binäre Teile, welche bei einem Node.js Update nicht mehr kompatibel sind und neu erstellt werden müssen.

                                  Automatische Rebuilds

                                  ioBroker versucht seit dem js-controller 3.0 automatisch die Adapter zu erkennen die nicht starten weil Sie aktualisiert werden müssen. Dies funktioniert so das die typischen Fehlermeldungen erkannt werden und ioBroker dann die Aktualisierung versucht.

                                  js-controller 3.x
                                  Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert.

                                  js-controller 4.0
                                  Zuerst wird versucht alle Adapter zu rebuilden, falls das nicht hilft wird versucht zielgerichtet die relevanten Module neu zu bauen.

                                  Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte UNBEDINGT Geduld haben! Erst wenn der Adapter dauerhaft rot bleibt und auch im Log steht das der Rebuild nicht geklappt hat aktiv werden!

                                  Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Dies kann dadurch erkannt werden das der Adapter "Rot" bleibt und nicht startet oder einzelne Funktionen nicht gehen und das als Fehler im Log steht. Dann sollte das Log geprüft werden (neben Admin stehen Logfiles auch unter /opt/iobroker/log/... zur Verfügung.

                                  Manuelle Rebuilds

                                  Hier zu gibt es iobroker rebuild, bzw die Kommandos die im Log angezeigt werden falls der Automatische Rebuild nicht funktioniert.

                                  Sonderfälle (z.B. Serialport)

                                  Leider gibt es Sonderfälle, wo auch die obigen Optionen das Rebuild nicht erledigen, einer davon ist Serialport.

                                  Dort kann ein Log zB (auch nach allen Rebuild Versuchen) wie folgt aussehen

                                  host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: }
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: ]
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node'
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/default/serialport.node',
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Release/serialport.node',
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Release/serialport.node',
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Debug/serialport.node',
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Debug/serialport.node',
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Release/serialport.node',
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Debug/serialport.node',
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/serialport.node',
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: tries: [
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30) {
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/auto-detect.js:16:22)
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at require (internal/modules/cjs/helpers.js:77:18)
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:1019:19)
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:877:14)
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:977:32)
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30)
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/linux.js:2:36)
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at bindings (/opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:93:9)
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/default/serialport.node
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Release/serialport.node
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Release/serialport.node
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Debug/serialport.node
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Debug/serialport.node
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Release/serialport.node
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Debug/serialport.node
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/serialport.node
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: Error: Could not locate the bindings file. Tried:
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: ^
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: throw err
                                  host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: /opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:96
                                  

                                  Es gibt auch andere Fehlermeldungen die aber alle auf das gleiche hinauslaufen.
                                  Die einfachste Option ist es dann manuell im richtigen Verzeichnis neu zu bauen.
                                  In dem Fall das Verzeichenis mit "bindings" suchen - oben ist das /opt/iobroker/node_modules/serialport/node_modules/bindings ... bei neueren Versionen kann es auch etwas wie /opt/iobroker/node_modules/serialport/node_modules/@serialport/bindings sein.
                                  Dann in dieses Verzeichnis wechseln und npm install --production ausführen. Danach den Adapter nochmal sneu starten, das sollte dann tun.

                                  Ein weiterer Fall sind Adapter mit canvas Modul (ggf echarts oder Mihome-vacuum) wo es Probleme gebe kann.

                                  Andere Sonderfälle muss man sich im Detail ansehen. Bitte unten Posten und wir unterstützen.

                                  Weitere Notfall Optionen

                                  Im früheren Artikel unter https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten sind noch weitere manuelle Möglichkeiten beschrieben ioBroker wieder zum laufen zu bekommen, aber diese sollten an sich nicht mehr nötig sein, gehen aber natürlich auch noch!
                                  Dieser Artikel gilt also auch weiterhin.

                                  Jetzt viel Erfolg und gebt bitte Feedback wie git es geklappt hat oder welche Probleme Ihr habt.

                                  Ingo

                                  RalfThR Offline
                                  RalfThR Offline
                                  RalfTh
                                  schrieb am zuletzt editiert von
                                  #457

                                  @apollon77 Vielen Dank für das How-To, es hat bei mir letztendlich super funktioniert.

                                  Die aktuelle Version wurde nicht installiert, wie der Befehl node -v zeigte.
                                  Ich musste erst ein sudo apt autoremove durchführen, damit das Update auf die version 16 klappte.

                                  Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
                                    libdav1d3 python-colorzero
                                  Verwenden Sie »sudo apt autoremove«, um sie zu entfernen.
                                  0 aktualisiert, 0 neu installiert, 0 zu entfernen und 1 nicht aktualisiert.
                                  xx@raspberrypi:/opt/iobroker $ sudo apt autoremove
                                  

                                  Das nochmals ausgeführte sudo apt-get install -y nodejs installierte dann die neue Version 16.x

                                  xx@raspberrypi:/opt/iobroker $ sudo apt-get install -y nodejs
                                  Paketlisten werden gelesen... Fertig
                                  Abhängigkeitsbaum wird aufgebaut.       
                                  Statusinformationen werden eingelesen.... Fertig
                                  Die folgenden Pakete werden aktualisiert (Upgrade):
                                    nodejs
                                  1 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
                                  

                                  Der Rest funktionierte ohne Probleme.

                                  Wir haben uns verirrt, kommen aber gut voran.

                                  Thomas BraunT 1 Antwort Letzte Antwort
                                  0
                                  • RalfThR RalfTh

                                    @apollon77 Vielen Dank für das How-To, es hat bei mir letztendlich super funktioniert.

                                    Die aktuelle Version wurde nicht installiert, wie der Befehl node -v zeigte.
                                    Ich musste erst ein sudo apt autoremove durchführen, damit das Update auf die version 16 klappte.

                                    Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
                                      libdav1d3 python-colorzero
                                    Verwenden Sie »sudo apt autoremove«, um sie zu entfernen.
                                    0 aktualisiert, 0 neu installiert, 0 zu entfernen und 1 nicht aktualisiert.
                                    xx@raspberrypi:/opt/iobroker $ sudo apt autoremove
                                    

                                    Das nochmals ausgeführte sudo apt-get install -y nodejs installierte dann die neue Version 16.x

                                    xx@raspberrypi:/opt/iobroker $ sudo apt-get install -y nodejs
                                    Paketlisten werden gelesen... Fertig
                                    Abhängigkeitsbaum wird aufgebaut.       
                                    Statusinformationen werden eingelesen.... Fertig
                                    Die folgenden Pakete werden aktualisiert (Upgrade):
                                      nodejs
                                    1 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
                                    

                                    Der Rest funktionierte ohne Probleme.

                                    Thomas BraunT Online
                                    Thomas BraunT Online
                                    Thomas Braun
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #458

                                    @ralfth sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                                    Ich musste erst ein sudo apt autoremove durchführen, damit das Update auf die version 16 klappte.

                                    Das hängt aber nicht ursächlich zusammen.
                                    Weder libdav1d3 noch python-colorzero haben Abhängigkeiten zu nodejs.

                                    Linux-Werkzeugkasten:
                                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                    NodeJS Fixer Skript:
                                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                    RalfThR 1 Antwort Letzte Antwort
                                    0
                                    • Thomas BraunT Thomas Braun

                                      @ralfth sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                                      Ich musste erst ein sudo apt autoremove durchführen, damit das Update auf die version 16 klappte.

                                      Das hängt aber nicht ursächlich zusammen.
                                      Weder libdav1d3 noch python-colorzero haben Abhängigkeiten zu nodejs.

                                      RalfThR Offline
                                      RalfThR Offline
                                      RalfTh
                                      schrieb am zuletzt editiert von RalfTh
                                      #459

                                      @thomas-braun Das dachte ich mir schon.
                                      Es führte allerdings dazu, dass die Installation durchlief und nichts aktualisiert wurde. D.h. der Befehl Node -v brachte immer noch die alte Version 12. Erst nach dem autoremove wurde auch die aktuelle Version installiert und node -v zeigte dann die aktuelle Version 16.15.1 mit npm 8.11.0
                                      Ich habe dafür keine Erklärung, wollte allerdings berichten falls es bei jemanden nicht klappt.
                                      Vielleicht weiß noch jemand was dazu?

                                      Wir haben uns verirrt, kommen aber gut voran.

                                      HomoranH Thomas BraunT 2 Antworten Letzte Antwort
                                      0
                                      • RalfThR RalfTh

                                        @thomas-braun Das dachte ich mir schon.
                                        Es führte allerdings dazu, dass die Installation durchlief und nichts aktualisiert wurde. D.h. der Befehl Node -v brachte immer noch die alte Version 12. Erst nach dem autoremove wurde auch die aktuelle Version installiert und node -v zeigte dann die aktuelle Version 16.15.1 mit npm 8.11.0
                                        Ich habe dafür keine Erklärung, wollte allerdings berichten falls es bei jemanden nicht klappt.
                                        Vielleicht weiß noch jemand was dazu?

                                        HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #460

                                        @ralfth sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:

                                        h. der Befehl Node -v brachte immer noch die alte Version 12.

                                        dann hast/hattest du wahrscheinlich zwei Versionen parallel in unterschiedlichen Verzeichnissen installiert.
                                        Was immer irgendwann zu Problemen führt

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        1 Antwort Letzte Antwort
                                        0
                                        • RalfThR RalfTh

                                          @thomas-braun Das dachte ich mir schon.
                                          Es führte allerdings dazu, dass die Installation durchlief und nichts aktualisiert wurde. D.h. der Befehl Node -v brachte immer noch die alte Version 12. Erst nach dem autoremove wurde auch die aktuelle Version installiert und node -v zeigte dann die aktuelle Version 16.15.1 mit npm 8.11.0
                                          Ich habe dafür keine Erklärung, wollte allerdings berichten falls es bei jemanden nicht klappt.
                                          Vielleicht weiß noch jemand was dazu?

                                          Thomas BraunT Online
                                          Thomas BraunT Online
                                          Thomas Braun
                                          Most Active
                                          schrieb am zuletzt editiert von Thomas Braun
                                          #461

                                          @ralfth

                                          Da würden mich mal die Meldungen von apt dazu interessieren.
                                          Da muss noch mehr drin gestanden haben, wenn das Upgrade auf nodejs16 nicht funktioniert.

                                          Saubere Installation der Vorversion natürlich vorausgesetzt; wenn die schon in falschen Pfaden lag ( /usr/local/bin ) dann kannst du da per apt installieren was du willst, der alte Kram liegt immer vorher im $PATH.

                                          Ist es denn jetzt richtig?

                                          sudo ln -s /usr/bin/node /usr/bin/nodejs
                                          uname -m && which nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
                                          

                                          anschauen.

                                          Linux-Werkzeugkasten:
                                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                          NodeJS Fixer Skript:
                                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                          Thomas BraunT RalfThR 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          819

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe