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

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [How-to] Node.js für ioBroker richtig updaten

NEWS

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

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

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

[How-to] Node.js für ioBroker richtig updaten

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
installationlinuxnodenode.jsnodejswindows
1.1k Beiträge 106 Kommentatoren 738.9k Aufrufe 112 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.
  • apollon77A apollon77

    Ich meine im zweiten Post in diesem Thread. Der erste Beitrag/Post ist die Anleitung. Beitrag 2 beschreibe Fehlerfälle die bei npm rebuild kommen können und wie man Sie lösen könnte ...

    -->https://forum.iobroker.net/post/266656

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

    @apollon77
    Ach so!
    Ok, ich habe jetzt zunächst versucht den Cache zu löschen und habe dann den Ordner entfernt. Beides hat keinen Erfolg gebracht.
    Ich stolpere beim Log immer über diese Zeilen:

    iobroker	2019-06-03 22:57:02.198	info	npm ERR!
    iobroker	2019-06-03 22:57:02.198	info	npm ERR! Command failed: git clone --mirror -q https://github.com/bytzdev/node-socketwatcher.git /root/.npm/_cacache/tmp/git-clone-cc95e762/.gitnpm ERR! fatal: could not create leading directories of
    iobroker	2019-06-03 22:57:02.196	info	ERR! code 128
    

    Ist das Verzeichnis "_cacache...." wirklich richtig?

    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
    • ChaotC Offline
      ChaotC Offline
      Chaot
      schrieb am zuletzt editiert von
      #71

      Andererseits lohnt es sich für mich nicht wirklich darüber nachzudenken. Da der letzte Dash sowieso ersetzt wird ist das eigentlich verschwendete Zeit.

      Ihr macht so tolle Arbeit und ich will euch da sicher nicht mit solchen Krimskrams die Zeit stehlen.

      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
      • apollon77A apollon77

        @Chaot amazon-dash geht mit nodejs 10 meines Wissens nach. Das ist eher ein lokales Problem bei Dir!

        StabilostickS Offline
        StabilostickS Offline
        Stabilostick
        schrieb am zuletzt editiert von
        #72

        @apollon77 sagte in [How-to] Node.js für ioBroker richtig updaten:

        @Chaot amazon-dash geht mit nodejs 10 meines Wissens nach.

        Habe ich gerade getestet. Ja, er geht. Debian Stretch.

        crunchipC 1 Antwort Letzte Antwort
        0
        • crunchipC crunchip

          @apollon77 ich werd es hoffentlich heute noch herausfinden, ob es geht oder nicht.

          @apollon77 sagte in [How-to] Node.js für ioBroker richtig updaten:

          Hast Du da irgendwelche Zusatzmodule installiert? Sieht aus wie noble ... Wenn das nicht die "https://www.npmjs.com/package/@abandonware/noble" ist dann ist das nicht nodejs 10 kompatibel!! Dann kann das die Ursache sein.
          kann ich dir ehrlich gesagt, gar nimmer sagen, wie kann ich das auslesen?

          StabilostickS Offline
          StabilostickS Offline
          Stabilostick
          schrieb am zuletzt editiert von Stabilostick
          #73

          @crunchip sagte in [How-to] Node.js für ioBroker richtig updaten:

          @apollon77 ich werd es hoffentlich heute noch herausfinden, ob es geht oder nicht.

          So, wir haben es herausgefunden. ;-)
          (Installation war 42 Adapter, weitere ca. 60 passive Module z.B. Visualierungselemente)

          Hier einige Hinweise:

          @crunchip ud ich haben seinen ioBroker genau nach Anleitung und Variante "d) Neuinstallation mit Restore" neu aufgesetzt. Node.js-Update. ioBroker Neuinstallation mit curl und dem Shellscript. Nach dem Stoppen des leeren ioBrokers das iobroker-data-Verzeichnis aus der alten Installation übernommen. Wie dokumentiert fängt der ioBroker an, die fehlenden Adapter nachzuinstallieren.

          Zu beachten ist, dass Adapter, die man manuell von GitHub installiert hat, den Fehler Can not parse null/io-package.json:Error: ENOENT: no suche file or directory ... im ioBroker-Log erzeugen.
          Diese Adapter nach Abschluss der automatischen Installationssequenz wie gehabt über das Adapterfenster manuell von GitHub nachinstallieren und nach der Installation die bestehende diesbezügliche Instanz von Hand starten.

          Ratsam ist es auch, im Log nach der Installation nach dem Wort yourself zu suchen. Hier werden ggf. npm-Module angezeigt, die nicht automatisch installiert wurden. Sie können/sollten manuell über die Kommandozeile mit npm i <Packetname>@<version>, ausgeführt im iobroker-Ordner, nachinstalliert werden. Dazu zuerst den ioBroker stoppen, npm ausführen und dann den ioBroker wieder starten.

          Wenn man dabei npm als root-User per Hand in der Kommandozeile ausgeführt hat, schlage ich zur Korrektur eventueller Berechtigungsfehler vor, vor dem Start von ioBroker das Fixerscript laufen zu lassen.

          cd /opt/iobroker
          iobroker stop
          npm i <Packetname>@<version>
          curl -sL https://iobroker.net/fix.sh | bash -
          iobroker start
          

          @crunchip & alle - Viel Spaß noch mit ioBroker!

          crunchipC 2 Antworten Letzte Antwort
          1
          • StabilostickS Stabilostick

            @apollon77 sagte in [How-to] Node.js für ioBroker richtig updaten:

            @Chaot amazon-dash geht mit nodejs 10 meines Wissens nach.

            Habe ich gerade getestet. Ja, er geht. Debian Stretch.

            crunchipC Offline
            crunchipC Offline
            crunchip
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #74

            @Stabilostick wollte ich auch gerade schreiben, und war ja gar nicht so schwer:joy: :joy: :joy:
            nochmal Herzlichen Dank für deine Unterstützung via Teamviewer.
            Hab mich nun zwar schweren Herzen von meinem Lieben RootUser getrennt, aber dafür hat mir @Stabilostick mein System wieder gerade gerückt und hoffe, das es nun auch Stabil läuft.

            umgestiegen von Proxmox auf Unraid

            1 Antwort Letzte Antwort
            0
            • StabilostickS Stabilostick

              @crunchip sagte in [How-to] Node.js für ioBroker richtig updaten:

              @apollon77 ich werd es hoffentlich heute noch herausfinden, ob es geht oder nicht.

              So, wir haben es herausgefunden. ;-)
              (Installation war 42 Adapter, weitere ca. 60 passive Module z.B. Visualierungselemente)

              Hier einige Hinweise:

              @crunchip ud ich haben seinen ioBroker genau nach Anleitung und Variante "d) Neuinstallation mit Restore" neu aufgesetzt. Node.js-Update. ioBroker Neuinstallation mit curl und dem Shellscript. Nach dem Stoppen des leeren ioBrokers das iobroker-data-Verzeichnis aus der alten Installation übernommen. Wie dokumentiert fängt der ioBroker an, die fehlenden Adapter nachzuinstallieren.

              Zu beachten ist, dass Adapter, die man manuell von GitHub installiert hat, den Fehler Can not parse null/io-package.json:Error: ENOENT: no suche file or directory ... im ioBroker-Log erzeugen.
              Diese Adapter nach Abschluss der automatischen Installationssequenz wie gehabt über das Adapterfenster manuell von GitHub nachinstallieren und nach der Installation die bestehende diesbezügliche Instanz von Hand starten.

              Ratsam ist es auch, im Log nach der Installation nach dem Wort yourself zu suchen. Hier werden ggf. npm-Module angezeigt, die nicht automatisch installiert wurden. Sie können/sollten manuell über die Kommandozeile mit npm i <Packetname>@<version>, ausgeführt im iobroker-Ordner, nachinstalliert werden. Dazu zuerst den ioBroker stoppen, npm ausführen und dann den ioBroker wieder starten.

              Wenn man dabei npm als root-User per Hand in der Kommandozeile ausgeführt hat, schlage ich zur Korrektur eventueller Berechtigungsfehler vor, vor dem Start von ioBroker das Fixerscript laufen zu lassen.

              cd /opt/iobroker
              iobroker stop
              npm i <Packetname>@<version>
              curl -sL https://iobroker.net/fix.sh | bash -
              iobroker start
              

              @crunchip & alle - Viel Spaß noch mit ioBroker!

              crunchipC Offline
              crunchipC Offline
              crunchip
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #75

              @Stabilostick klinkt so einfach, wie du das schreibst und doch hat es 3Stunden gedauert.:grinning:
              Soviel telefonier ich sonst nicht mal in einem Jahr.:joy: :joy: :joy: :joy:

              aber das lag wohl eher an der Anzahl der Adapter, hehe.

              die Falschmeldung des Node.js noch zu erwähnen, falls einer danach fragt
              f3546ec5-3800-466d-864e-5dac7a2d2420-image.png

              umgestiegen von Proxmox auf Unraid

              StabilostickS J 3 Antworten Letzte Antwort
              1
              • crunchipC crunchip

                @Stabilostick klinkt so einfach, wie du das schreibst und doch hat es 3Stunden gedauert.:grinning:
                Soviel telefonier ich sonst nicht mal in einem Jahr.:joy: :joy: :joy: :joy:

                aber das lag wohl eher an der Anzahl der Adapter, hehe.

                die Falschmeldung des Node.js noch zu erwähnen, falls einer danach fragt
                f3546ec5-3800-466d-864e-5dac7a2d2420-image.png

                StabilostickS Offline
                StabilostickS Offline
                Stabilostick
                schrieb am zuletzt editiert von Stabilostick
                #76

                @crunchip sagte in [How-to] Node.js für ioBroker richtig updaten:

                die Falschmeldung des Node.js noch zu erwähnen

                Wird wohl heute im Laufe des Tages gefixed. :hugging_face:

                1 Antwort Letzte Antwort
                0
                • crunchipC crunchip

                  @Stabilostick klinkt so einfach, wie du das schreibst und doch hat es 3Stunden gedauert.:grinning:
                  Soviel telefonier ich sonst nicht mal in einem Jahr.:joy: :joy: :joy: :joy:

                  aber das lag wohl eher an der Anzahl der Adapter, hehe.

                  die Falschmeldung des Node.js noch zu erwähnen, falls einer danach fragt
                  f3546ec5-3800-466d-864e-5dac7a2d2420-image.png

                  StabilostickS Offline
                  StabilostickS Offline
                  Stabilostick
                  schrieb am zuletzt editiert von Stabilostick
                  #77

                  @crunchip sagte in [How-to] Node.js für ioBroker richtig updaten:

                  doch hat es 3Stunden gedauert

                  Jupp, wollte doch noch socket.io, dash-button, say.it und ble funktionierend sehen. Was sie auch alle mit Node 10.16 taten. Das dauerte halt bei Deiner großen Installation etwas und ich hatte die Gelegenheit, den neuen Windows Installer für ioBroker vorzustellen -> https://forum.iobroker.net/post/266623
                  War nett mit Dir!

                  crunchipC 1 Antwort Letzte Antwort
                  1
                  • crunchipC Offline
                    crunchipC Offline
                    crunchip
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #78

                    aber eines habe ich noch,
                    mein anderes Problem siehe
                    https://forum.iobroker.net/topic/22832
                    ist aber leider Immer noch vorhanden, trotz Neuinstallation mit Restore

                    umgestiegen von Proxmox auf Unraid

                    StabilostickS 1 Antwort Letzte Antwort
                    0
                    • StabilostickS Stabilostick

                      @crunchip sagte in [How-to] Node.js für ioBroker richtig updaten:

                      doch hat es 3Stunden gedauert

                      Jupp, wollte doch noch socket.io, dash-button, say.it und ble funktionierend sehen. Was sie auch alle mit Node 10.16 taten. Das dauerte halt bei Deiner großen Installation etwas und ich hatte die Gelegenheit, den neuen Windows Installer für ioBroker vorzustellen -> https://forum.iobroker.net/post/266623
                      War nett mit Dir!

                      crunchipC Offline
                      crunchipC Offline
                      crunchip
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #79

                      @Stabilostick dito
                      jep, den seh ich mir dann mal in einer ruhigen Minute mal genauer an.

                      umgestiegen von Proxmox auf Unraid

                      1 Antwort Letzte Antwort
                      0
                      • crunchipC crunchip

                        aber eines habe ich noch,
                        mein anderes Problem siehe
                        https://forum.iobroker.net/topic/22832
                        ist aber leider Immer noch vorhanden, trotz Neuinstallation mit Restore

                        StabilostickS Offline
                        StabilostickS Offline
                        Stabilostick
                        schrieb am zuletzt editiert von
                        #80

                        @crunchip sagte in [How-to] Node.js für ioBroker richtig updaten:

                        aber eines habe ich noch, mein anderes Problem siehe
                        https://forum.iobroker.net/topic/22832
                        ist aber leider Immer noch vorhanden, trotz Neuinstallation mit Restore

                        Siehe https://forum.iobroker.net/post/267662

                        1 Antwort Letzte Antwort
                        1
                        • crunchipC crunchip

                          @Stabilostick klinkt so einfach, wie du das schreibst und doch hat es 3Stunden gedauert.:grinning:
                          Soviel telefonier ich sonst nicht mal in einem Jahr.:joy: :joy: :joy: :joy:

                          aber das lag wohl eher an der Anzahl der Adapter, hehe.

                          die Falschmeldung des Node.js noch zu erwähnen, falls einer danach fragt
                          f3546ec5-3800-466d-864e-5dac7a2d2420-image.png

                          J Offline
                          J Offline
                          Jan1
                          schrieb am zuletzt editiert von
                          #81

                          @crunchip sagte in [How-to] Node.js für ioBroker richtig updaten:

                          @Stabilostick klinkt so einfach, wie du das schreibst und doch hat es 3Stunden gedauert.:grinning:
                          Soviel telefonier ich sonst nicht mal in einem Jahr.:joy: :joy: :joy: :joy:

                          aber das lag wohl eher an der Anzahl der Adapter, hehe.

                          die Falschmeldung des Node.js noch zu erwähnen, falls einer danach fragt
                          f3546ec5-3800-466d-864e-5dac7a2d2420-image.png

                          welche hast denn nun drauf 10.16.0 oder 10.15.3? Ich habe die 10.16.0 und diese Meldung nicht.

                          1 Antwort Letzte Antwort
                          0
                          • DiginixD Offline
                            DiginixD Offline
                            Diginix
                            schrieb am zuletzt editiert von
                            #82

                            Ich habe auch 10.16.0 und kein falschen Hinweis für 10.15.3

                            0321a23f-bcd2-48b5-b970-95af64d79e6c-grafik.png

                            ..:: So long! Tom ::..

                            NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                            crunchipC 1 Antwort Letzte Antwort
                            0
                            • DiginixD Diginix

                              Ich habe auch 10.16.0 und kein falschen Hinweis für 10.15.3

                              0321a23f-bcd2-48b5-b970-95af64d79e6c-grafik.png

                              crunchipC Offline
                              crunchipC Offline
                              crunchip
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #83

                              @Diginix @Jan1

                              @Stabilostick sagte in [How-to] Node.js für ioBroker richtig updaten:

                              Wird wohl heute im Laufe des Tages gefixed.

                              umgestiegen von Proxmox auf Unraid

                              J 1 Antwort Letzte Antwort
                              0
                              • crunchipC crunchip

                                @Diginix @Jan1

                                @Stabilostick sagte in [How-to] Node.js für ioBroker richtig updaten:

                                Wird wohl heute im Laufe des Tages gefixed.

                                J Offline
                                J Offline
                                Jan1
                                schrieb am zuletzt editiert von
                                #84

                                @crunchip
                                Da hatte ich diese Version schon ohne den Fehler ne Woche laufen

                                DiginixD 1 Antwort Letzte Antwort
                                0
                                • crunchipC Offline
                                  crunchipC Offline
                                  crunchip
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #85

                                  eines was ich noch beheben muss, nach der Aktion, da fehlt was
                                  Commands.ssml" not found
                                  0ca7a935-1e83-4374-9f01-c1a93cce3ece-image.png

                                  umgestiegen von Proxmox auf Unraid

                                  apollon77A 1 Antwort Letzte Antwort
                                  0
                                  • J Jan1

                                    @crunchip
                                    Da hatte ich diese Version schon ohne den Fehler ne Woche laufen

                                    DiginixD Offline
                                    DiginixD Offline
                                    Diginix
                                    schrieb am zuletzt editiert von
                                    #86

                                    @Jan1 sagte in [How-to] Node.js für ioBroker richtig updaten:

                                    @crunchip
                                    Da hatte ich diese Version schon ohne den Fehler ne Woche laufen

                                    Genau so bei mir. Ich hatte 10.16.0 und nie einen Hinweis auf 10.15.3.
                                    Der Bugfix, wo auch immer, ist bei mir nicht nötig. Daher hat @Jan1 und mich das auch gewundert dass es bei dir als vermeintlich alte Version erkannt wird.
                                    @crunchip Hast du zufällig Windows?
                                    Bei mir läuft alles unter Linux.

                                    ..:: So long! Tom ::..

                                    NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                                    crunchipC 1 Antwort Letzte Antwort
                                    0
                                    • DiginixD Diginix

                                      @Jan1 sagte in [How-to] Node.js für ioBroker richtig updaten:

                                      @crunchip
                                      Da hatte ich diese Version schon ohne den Fehler ne Woche laufen

                                      Genau so bei mir. Ich hatte 10.16.0 und nie einen Hinweis auf 10.15.3.
                                      Der Bugfix, wo auch immer, ist bei mir nicht nötig. Daher hat @Jan1 und mich das auch gewundert dass es bei dir als vermeintlich alte Version erkannt wird.
                                      @crunchip Hast du zufällig Windows?
                                      Bei mir läuft alles unter Linux.

                                      crunchipC Offline
                                      crunchipC Offline
                                      crunchip
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #87

                                      @Diginix nein läuft unter Debian

                                      umgestiegen von Proxmox auf Unraid

                                      J 1 Antwort Letzte Antwort
                                      0
                                      • crunchipC crunchip

                                        @Diginix nein läuft unter Debian

                                        J Offline
                                        J Offline
                                        Jan1
                                        schrieb am zuletzt editiert von
                                        #88

                                        @crunchip
                                        Dann ist es noch seltsamer, da ich auch Debian laufen habe. Mit 9 und jetzt 10 keine Warnung zur Version.

                                        1 Antwort Letzte Antwort
                                        0
                                        • StabilostickS Stabilostick

                                          MOD-EDIT: Dieser Thread und insbesondere diese Anleitung ist von 2019 und somit veraltet

                                          aktuell ist
                                          https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian


                                          Update März 2023: Die aktuelle Anleitung findet ihr hier : https://forum.iobroker.net/topic/64032/update-nodejs-best-practise-supported-14-16-und-18

                                          1. Einleitung

                                          Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht.

                                          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 fast wöchentlich.

                                          Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 8.x). In 2017 war das Node.js 8, 2018 kam Node.js 10, dann 12.x hinzu und im Oktober 2021 wird Node.js 14 den LTS-Status erhalten.

                                          Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 6 im April 2019 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 8.x ist seit November 2019 raus.

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

                                          Auch ioBroker wird stetig weiterentwickelt und nutzt die neuen Funktionen aktueller Node.js-Versionen. Obwohl der ioBroker js-controller mit Versionen 1.4.x bzw. 1.5.x noch Node.js 4 unterstützt, fordern neue Adapter immer häufiger mindestens Node.js 8 als Grundvoraussetzung.

                                          Ab der Version 2.0 des js-controllers (das Freigabedatum ist noch nicht bekannt) sind die Anpassungen so tiefgreifend, dass die Node.js-Versionen 4 und 6 nicht mehr unterstützt werden können.

                                          Ab Version 3.0/3.1 vom Controller, der gerade (Stand 24.4.2020) im Latest Repository ist, wird Nodejs 10.x Minimum sein.

                                          Alle paar Jahre steht also für eine ioBroker-Installation ein Update von Node.js an. Dieser Artikel soll zusammenfassen wir man dazu am besten vorgeht.

                                          2. Wer sollte updaten?

                                          Aktuell empfehlen wir, bei ioBroker-Neuinstallationen mindestens Node.js 10, besser noch 12.x. zu verwenden. Es sind wenige Adapter bekannt, die nicht mit Node 10/12 funktionieren: Details dazu in https://forum.iobroker.net/topic/30561/status-iobroker-und-node-js-12-x

                                          Windows-Anwendern empfehlen wir, auf jeden Fall am Test des neuen Windows-Installers teilzunehmen: https://forum.iobroker.net/post/266623
                                          Der zukünftige Windows-Installer für ioBroker wird eine Funktion erhalten, bestehende Installationen automatisch auf aktuelle js-controller- und Node.js-Versionen zu migrieren, ohne dass man die Kommandozeile bemühen muss.

                                          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.

                                          Grundsätzlich gilt: Sollte das ioBroker-System stabil laufen, muss Node.js auch nicht auf Gedeih und Verderb upgedated werden. Wenn aber die Installation bestimmter Adapter fehlschlägt (wohlmöglich sogar mit entsprechender Fehlermeldung) oder eine Node-Version < 4 für einen js-controller > Version 1.4.x eingesetzt wird, sollte über ein Node.js-Update nachgedacht werden. Es sind auch Probleme für die Node.js-Versionen 8.0 - 8.12 mit volllaufendem RAM bekannt, so dass wir auch hier ein Update empfehlen.

                                          Wie bereits gesagt: Sollte das ioBroker-System stabil laufen und ist die Installation technisch nicht gefordert, muss Node.js auch nicht auf Gedeih und Verderb upgedated werden.

                                          3. Was sollte ich vor dem Update tun?

                                          Hinweis: Falls die Version des js-controllers <= 1.5.12 ist, muss VOR dem Update in den Einstellungen der Admin-Instanz "Verschlüsselung (https) benutzen" ausgeschaltet werden. Das in ioBroker bis dahin integrierte Zertifikat kann zu Problemen beim Starten des Admin bei Node.js-Versionen >= 10 führen.

                                          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. Auch wenn diese Versionen ggf. noch im "Latest" Repository sind muss man diese vorher aktualisieren. Alternativ wartet man mit der ganzen Update-Aktion bis die neuen Versionen im "Stable" Repository sind, schreibt den Entwickler dazu an oder fragt im Forum nach.

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

                                          4. Step-by-step-Anleitung für Unix-Systeme

                                          • 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.

                                          • Anschließend 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 startet. 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 mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.

                                          • 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 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_10.x | sudo -E bash -
                                            sudo apt-get install -y nodejs
                                            

                                          Für nodejs 12 einfach in der URL oben anstelle der 10 eine 12 reinpacken.

                                          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.

                                          • 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

                                            curl -sL https://iobroker.net/fix.sh | bash -
                                            

                                            Er stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her.

                                          • Bei einer Aktualisierung von Node.js müssen bereits installierte JavaScript- Module im ioBroker-Ordner aktualisiert werden, da sonst Fehler bei deren Ausführung auftreten.

                                            Um diese zu aktualisieren gibt es mehrere Möglichkeiten:

                                            a) ab js-controller 3.0: Automatischer Rebuild
                                            ioBroker versucht seit dem js-controller 3.0 automatisch 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. Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert. Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte Geduld haben!
                                            Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Hier zu gibt es iobroker rebuild adaptername und falls das nicht reicht iobroker rebuild adaptername --install. Das einfach manuell ausführen. Damit sollte alles idealerweise automatisiert erledigt sein. Falls hie rirgendetwas gar nicht geht dann helfen die weiteren Optionen.

                                            b) npm rebuild
                                            Der erste Versuch sollte immer mit dem Befehl "npm rebuild" im ioBroker Verzeichnis stattfinden, weil dies am saubersten funktioniert und direkt von der Paketverwaltung ausgeführt wird. Im Idealfall dauert das ein paar Minuten und es könnten ein paar Warnungen gelistet werden.
                                            Falls es aber Fehler gibt, werden wir zusammen versuchen im nächsten Post alle bekannten Fälle mit Ihren Lösungsansätzen zu sammeln. Wenn das funktioniert ist dies der schnellste und sauberste Weg.

                                            c) reinstall-Skript
                                            Sollte das nicht klappen, beinhaltet der js-Controller ein reinstall-Skript ("reinstall.sh" bzw. ab js-controller 1.5.x "reinstall.js"). Dieses Skript erkennt alle installierten ioBroker-Adapter, löscht diese dann aus dem node_modules-Verzeichnis und installiert sie neu. Dieser Ansatz ist etwas aufwändiger als "npm rebuild", erfüllt aber den gleichen Zweck. Das funktioniert generell gut, man sollte den Prozess aber nicht abbrechen. Falls es doch passiert oder es Probleme beim Starten nach dieser Prozedur gibt, dann am besten den Weg im nächsten Punkt wählen.
                                            Das reinstall.sh-Skript welches im js-controller 1.4 mitgeliefert wurde hat ein Formatierungsproblem und muss vorher noch für Linux mit den Befehlen

                                            cd /opt/iobroker
                                            sudo mv reinstall.sh reinstall.dos
                                            sudo tr -d '\r' < reinstall.dos > reinstall.sh
                                            sudo chmod +x reinstall.sh
                                            

                                            korrigiert werden, damit es funktioniert.

                                            d) Reset aller Module in node_modules
                                            Eine weitere Variante, die gründlich ist, aber etwas Zeit kostet, ist der Ansatz einfach alles Alte unter Beibehaltung der Daten und Einstellungen neu zu installieren. Wichtig ist, das iobroker-data Verzeichnis nicht zu verändern. Häufig können mit dieser Vorgehensweise auch andere (verborgene) Installationsfehler repariert werden.

                                            Dazu löscht man zuerst das gesamte node_modules Verzeichnis im ioBroker-Verzeichnis.

                                            cd /opt/iobroker
                                            sudo rm -r node_modules/ 
                                            

                                            Nachdem der Befehl abgesetzt wurde, fragt das Programm, ob in den Ordner "hinabgestiegen" werden soll (sofern es ein tieferer Unterordner ist) und ob der (schreibgeschützte) Ordner wirklich gelöscht werden soll - beides bestätigt man mit "Ja" (j) oder "Yes" (y).

                                            Danach installiert man den Controller in der relevanten Version (hier z.B. 2.2.8 der zum Zeitpunkt des Schreibens die aktuelle "Stable"-Version ist):

                                            npm install iobroker.js-controller@2.2.8 --production
                                            

                                            Anschließend startet man ioBroker.

                                            iobroker start
                                            

                                            ioBroker wird korrekterweise feststellen, dass die Adapter, die er starten will, nicht installiert sind - und diese einfach automatisch nachinstallieren. Je nach System kann dies einige Zeit dauern - gern auch ein paar Stunden (oder bei langsamen SD-Karten die ganze Nacht). Aber danach ist alles aktualisiert. Der Installationsfortschritt ist im Admin im Log-Fenster zu sehen.

                                            Zu beachten ist, dass Adapter, die man manuell von GitHub installiert hat, den Fehler Can not parse null/io-package.json:Error: ENOENT: no suche file or directory ... im ioBroker-Log erzeugen.
                                            Diese Adapter nach Abschluss der automatischen Installationssequenz wie gehabt über das Adapterfenster manuell von GitHub nachinstallieren und nach der Installation die bestehende diesbezügliche Instanz von Hand starten.

                                            Ratsam ist es auch, im Log nach der Installation nach dem Wort yourself zu suchen. Hier werden ggf. npm-Module angezeigt, die nicht automatisch installiert wurden. Sie können/sollten manuell über die Kommandozeile mit npm i <Packetname>@<version>, ausgeführt im iobroker-Ordner, nachinstalliert werden. Dazu zuerst den ioBroker stoppen, npm ausführen und dann den ioBroker wieder starten.

                                            Wenn man dabei npm als root-User per Hand in der Kommandozeile ausgeführt hat, schlage ich zur Korrektur eventueller Berechtigungsfehler vor, vor dem Start von ioBroker das Fixerscript laufen zu lassen.

                                            cd /opt/iobroker
                                            iobroker stop
                                            npm i <Packetname>@<version>
                                            curl -sL https://iobroker.net/fix.sh | bash -
                                            iobroker start
                                            

                                            e) Neuinstallation mit Restore
                                            Eine kleine Abwandlung der letzten Variante ist eine Neuinstallation. Hierbei sichert man das "iobroker-data" Verzeichnis (oder nutzt das Backup von oben). Dann löscht man das gesamte ioBroker-Verzeichnis und nutzt den Installer.

                                            cp -r /opt/iobroker/iobroker-data <Pfad_zum_sicheren_Ort> 
                                            sudo rm -r /opt/iobroker/ 
                                            sudo mkdir /opt/iobroker
                                            cd /opt/iobroker
                                            curl -sL https://iobroker.net/install.sh | bash -
                                            

                                            Direkt danach stoppt man ioBroker wieder (der ja nach der Installation automatisch gestartet wird).

                                            iobroker stop
                                            

                                            Dann löscht man den neu erstellen „iobroker-data“- Ordner und kopiert anschließend das gesicherte alte „iobroker-data“-Verzeichnis mit den darin enthaltenen Datenbanken und Dateien dorthin zurück.

                                            rm -r /opt/iobroker/iobroker-data
                                            cp -r <Pfad_zum_sicheren_Ort> /opt/iobroker/iobroker-data  
                                            

                                            Anschließend wieder ioBroker starten. Der Rest läuft dann wie bei c) und dauert seine Zeit.

                                          5. Zu guter Letzt

                                          Bitte gebt euer Feedback, was bei euch wie gut funktioniert, was ihr immer nutzt und was die Probleme und eure Lösungen sind.

                                          Viele Grüße,
                                          apollon77
                                          stabilostick

                                          L Offline
                                          L Offline
                                          lonsimbt
                                          schrieb am zuletzt editiert von
                                          #89

                                          Update von node 8 auf node 10 hat mit Variante 4c problemlos funktioniert.

                                          Gruß Marco

                                          iobroker im Container (debian Bullseye) unter proxmox 7.1
                                          debmatic in VM (debian Buster) unter proxmox 7.1 mit HB-RF-USB und RPI-RF-MOD
                                          40 HomeMatic Geräte, Phillips Hue, Ikea Tradfri, Logitech Harmony Hub, Botvac Connected, Robonect

                                          1 Antwort 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

                                          126

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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