Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Nach Nodejs 22 Update - Adapter nicht updatefähig

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Nach Nodejs 22 Update - Adapter nicht updatefähig

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MCU @Thomas Braun last edited by MCU

      @thomas-braun sagte in Nach Nodejs 22 Update - Adapter nicht updatefähig:

      npm ls

      prox@iobrokerProd:~$ cd /opt/iobroker
      prox@iobrokerProd:/opt/iobroker$ npm ls
      [sudo] password for prox: 
      iobroker.inst@3.0.0 /opt/iobroker
      +-- @emnapi/runtime@1.3.1 extraneous
      +-- @iobroker-javascript.0/axios@npm:axios@1.10.0
      +-- @iobroker-javascript.0/cheerio@npm:cheerio@1.1.0
      +-- @iobroker-javascript.0/decompress-targz@npm:decompress-targz@4.1.1
      +-- @iobroker-javascript.0/decompress@npm:decompress@4.2.1
      +-- @iobroker-javascript.0/form-data@npm:form-data@4.0.3
      +-- @iobroker-javascript.0/html-pdf@npm:html-pdf@3.0.1
      +-- @iobroker-javascript.0/html2json@npm:html2json@1.0.2
      +-- @iobroker-javascript.0/hue-push-client@npm:hue-push-client@1.0.5
      +-- @iobroker-javascript.0/jsdom@npm:jsdom@26.1.0
      +-- @iobroker-javascript.0/node-ipc@npm:node-ipc@12.0.0
      +-- @iobroker-javascript.0/puppeteer@npm:puppeteer@24.10.2
      +-- @iobroker-javascript.0/uuid@npm:uuid@11.1.0
      +-- @iobroker-javascript.0/xml2js@npm:xml2js@0.6.2
      +-- @iobroker-javascript.0/xmldom@npm:xmldom@0.6.0
      +-- iobroker.admin@7.7.1
      +-- iobroker.alexa2@3.26.7
      +-- iobroker.awattar@1.0.6
      +-- iobroker.awtrix-light@2.0.0
      +-- iobroker.backitup@3.3.0
      +-- iobroker.birthdays@4.0.0
      +-- iobroker.bring@1.9.1
      +-- iobroker.broadlink2@2.3.0
      +-- iobroker.cameras@2.1.2
      +-- iobroker.chromecast@4.0.0
      +-- iobroker.cloud@5.0.1
      +-- iobroker.daswetter@3.2.3
      +-- iobroker.devices@1.2.7
      +-- iobroker.discovery@5.0.0
      +-- iobroker.dwd@2.8.5
      +-- iobroker.echarts@2.0.6
      +-- iobroker.email@2.0.4
      +-- iobroker.fahrplan@1.4.1
      +-- iobroker.flexcharts@0.4.1
      +-- iobroker.flot@1.12.0
      +-- iobroker.fritzdect@2.6.2
      +-- iobroker.fullybrowser@3.1.1
      +-- iobroker.history@3.0.1
      +-- iobroker.hue-extended@2.0.1 (git+ssh://git@github.com/iobroker-community-adapters/ioBroker.hue-extended.git#1de8967c7f7150dfdc1c281899adc5d01777b050)
      +-- iobroker.hue@3.16.2
      +-- iobroker.ical@1.16.2
      +-- iobroker.iot@3.5.0
      +-- iobroker.jarvis@3.2.0-rc.17 (git+ssh://git@github.com/Zefau/ioBroker.jarvis.git#65370bd2ad4617722447bcff04ba4dc6429bed9b)
      +-- iobroker.javascript@9.0.6
      +-- iobroker.js-controller@7.0.7
      +-- iobroker.lovelace@5.0.0
      +-- iobroker.meross@1.17.0 (git+ssh://git@github.com/Apollon77/ioBroker.meross.git#89166c86e032b777b634e9fbe1e42544de9c9fb0)
      +-- iobroker.mqtt-client@3.0.0
      +-- iobroker.mqtt@6.1.4
      +-- iobroker.notificationforandroidtv@3.0.4
      +-- iobroker.odl@5.0.0
      +-- iobroker.onvif@1.1.4
      +-- iobroker.openweathermap@1.3.0
      +-- iobroker.parser@2.3.1
      +-- iobroker.pegelalarm@1.3.8
      +-- iobroker.ping@1.7.9
      +-- iobroker.proxmox@2.4.0
      +-- iobroker.proxy@1.3.2
      +-- iobroker.pushover@4.1.0
      +-- iobroker.pvforecast@5.0.0
      +-- iobroker.rest-api@3.0.1
      +-- iobroker.ring@6.3.0
      +-- iobroker.roadtraffic@1.2.0
      +-- iobroker.rssfeed@3.5.2
      +-- iobroker.shelly@10.0.0
      +-- iobroker.simple-api@3.0.7
      +-- iobroker.slideshow@0.2.1
      +-- iobroker.smartcontrol@2.0.1
      +-- iobroker.snmp@3.2.0
      +-- iobroker.socketio@7.0.8
      +-- iobroker.sonoff@3.2.1
      +-- iobroker.spotify-premium@1.5.3
      +-- iobroker.tankerkoenig@3.4.0
      +-- iobroker.telegram@4.1.0
      +-- iobroker.terminal@1.0.0
      +-- iobroker.tr-064@4.3.0
      +-- iobroker.trashschedule@3.3.0
      +-- iobroker.tuya@3.17.0
      +-- iobroker.tvprogram@4.0.0
      +-- iobroker.tvspielfilm@2.1.0
      +-- iobroker.twinkly@1.0.14
      +-- iobroker.virtualpowermeter@1.5.0
      +-- iobroker.vis-2-widgets-material@1.4.10
      +-- iobroker.vis-2@2.12.10
      +-- iobroker.vis-metro@1.2.0
      +-- iobroker.vis@1.5.6
      +-- iobroker.web@7.0.6
      +-- iobroker.wifilight@2.0.3
      +-- iobroker.wled@0.7.3
      +-- iobroker.ws@3.0.19
      `-- iobroker.zigbee@2.0.4
      
      prox@iobrokerProd:/opt/iobroker$ npm i --dry-run
      npm error code EBADENGINE
      npm error engine Unsupported engine
      npm error engine Not compatible with your version of node/npm: ring-client-api@13.1.0
      npm error notsup Not compatible with your version of node/npm: ring-client-api@13.1.0
      npm error notsup Required: {"node":"^18 || ^20"}
      npm error notsup Actual:   {"npm":"10.9.2","node":"v22.17.0"}
      npm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2025-06-26T22_35_49_020Z-debug-0.log
      

      Problem wurde auch gemeldet
      https://github.com/iobroker-community-adapters/ioBroker.ring/issues/820

      mcuiobroker created this issue in iobroker-community-adapters/ioBroker.ring

      closed Support of node.js 22 missing #820

      T OliverIO 2 Replies Last reply Reply Quote 1
      • T
        ticaki Developer @MCU last edited by ticaki

        @mcu
        Hab’s nicht ganz gelesen, bei meinem Update auf 22 hab ich yahka entfernen müssen da backitup sich nicht updaten lies wenn es installiert ist - da ist ein veraltetes packet in den deps von yahka. Frag mich nicht wieso das was mit backitup zutun hat.😅

        Thomas Braun ? 2 Replies Last reply Reply Quote 0
        • Thomas Braun
          Thomas Braun Most Active @ticaki last edited by

          @ticaki sagte in Nach Nodejs 22 Update - Adapter nicht updatefähig:

          Frag mich nicht wieso das was mit backitup zutun hat.

          Nichts direkt. Allerdings macht der Paketmanager npm nichts mehr, wenn da eine nicht auflösbare Konstellation auftaucht.
          Also Trouble bei yahaka verhindert ein Update von backitup (oder anderen Adaptern).

          T 1 Reply Last reply Reply Quote 0
          • ?
            A Former User @ticaki last edited by

            @ticaki

            Downgrade Yahka auf die 1.0.3 und es läuft unter node 22

            M 1 Reply Last reply Reply Quote 0
            • M
              MCU @Guest last edited by MCU

              Fazit?

              Wenn ein Adapter nicht für die aktuelle Nodejs Version (hier:22) aktuell gehalten wird, kann man ioBroker-Adapter nicht mehr updaten?
              Der nicht korrekte Adapter muss dann deinstalliert werden!
              

              Habe es mal bei chatGPT eingegeben:

              ⚙️ Warum schlägt ein einzelnes Adapter-Upgrade unter Node.js 22 fehl?
              📦 Hintergrund: Node.js + native Module
              Viele ioBroker-Adapter (z. B. modbus, zigbee, mqtt, shelly) nutzen sogenannte native Node-Module (geschriebene C++-Addons). Diese Module sind kompiliert gegen eine bestimmte Node-ABI-Version, z. B. für Node.js 18 oder 20.

              Wenn du ein Adapter-Update machst, dann passiert:

              ioBroker nutzt npm → installiert Adapter inkl. package.json

              npm prüft automatisch:

              alle Abhängigkeiten

              ob native Addons kompiliert werden müssen

              Ist ein Abhängigkeitsmodul nicht kompatibel mit Node.js 22 → npm install schlägt fehl → Adapter-Update komplett abgebrochen

              Und dabei prüft npm nicht nur das Zielmodul, sondern auch die Abhängigkeiten des gesamten Adapter-Trees, inklusive aller peer dependencies oder optionals.

              💥 Typisches Beispiel:
              Du willst hm-rega updaten, aber:

              ein indirektes Abhängigkeitsmodul wie node-serialport ist noch nicht kompatibel mit Node.js 22

              npm kann es nicht bauen → npm install schlägt komplett fehl → Adapter wird nicht aktualisiert

              🔐 Warum kann ioBroker das nicht umgehen?
              ioBroker selbst verwendet keine eigene Abhängigkeitsverwaltung – er nutzt npm install nativ. Das ist gewollt, da ioBroker-Adapter auf package.json-Basis gepflegt werden.

              Der Update-Prozess ist also immer so etwas wie:

              cd /opt/iobroker/node_modules/iobroker.adaptername
              npm install iobroker.adaptername@latest
              

              Wenn das fehlschlägt (egal bei welchem Modul), stoppt der gesamte Update-Prozess.

              🧩 Lösungsideen (theoretisch):
              📦 Adapter in isolierte Container packen (→ wäre Overhead)

              💡 Adapter einzeln in eigene node_modules-Kontexte installieren (aber npm unterstützt das nicht gut)

              🛠 iobroker könnte ein eigenes Paketmanagement nutzen (aber aktuell zu aufwendig)

              EDIT
              Da wäre dann die Frage, kann man das vorher durch einen Befehl prüfen lassen , bevor man das nodejs-update macht?

              Bzw. Info an die Entwickler immer nur >={letzte geprüfte Nodejs-Version} in der packgae.json zu verwenden und nicht spezielle Angaben =20 || = 22.

              1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @MCU last edited by

                @mcu

                npm error notsup Required: {"node":"^18 || ^20"}

                Das bedeutet halt es ist nur 18 oder 20 zulässig.
                Sonst nix

                M 1 Reply Last reply Reply Quote 0
                • M
                  MCU @OliverIO last edited by MCU

                  @oliverio Wäre ja auch für einen Adapter (hier: ring) dann ok. Aber das dadurch auch das Update für andere Adapter scheitert, ist mir neu.

                  EDIT
                  Bedeutet dann, wenn die Abhängigkeiten aller genutzten Adapter nicht gepflegt wird, mit deren genutzten Abhängigkeiten, APIs usw., kann man ioBroker, in der ,für jeden unterschiedlichen, Ausprägung, nicht mehr komplett nutzen.

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @MCU last edited by

                    @mcu
                    Wir hatten da letztens schon einen komischen Fall. Ich glaube das was @ticaki erwähnte. Das müsste sich mal jemand anschauen der viel Ahnung von npm hat.

                    Homoran T 2 Replies Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @OliverIO last edited by

                      @oliverio sagte in Nach Nodejs 22 Update - Adapter nicht updatefähig:

                      @mcu
                      Wir hatten da letztens schon einen komischen Fall. Ich glaube das was @ticaki erwähnte. Das müsste sich mal jemand anschauen der viel Ahnung von npm hat.

                      muss mal suchen, wenn es interessiert.
                      @thomas-braun hatte sich da durch die npm Abhängigkeiten durchgekämpft

                      1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @OliverIO last edited by

                        @oliverio sagte in Nach Nodejs 22 Update - Adapter nicht updatefähig:

                        @mcu
                        Wir hatten da letztens schon einen komischen Fall. Ich glaube das was @ticaki erwähnte. Das müsste sich mal jemand anschauen der viel Ahnung von npm hat.

                        Ja das war ich, der das ansprochen hatte. Ist halt blöd das man nicht sofort beim nodejs-update eine Fehlermeldung bekommt, sondern irgendwann später mal.

                        Thomas Braun 1 Reply Last reply Reply Quote 0
                        • Thomas Braun
                          Thomas Braun Most Active @ticaki last edited by Thomas Braun

                          @ticaki sagte in Nach Nodejs 22 Update - Adapter nicht updatefähig:

                          Ist halt blöd das man nicht sofort beim nodejs-update eine Fehlermeldung bekommt, sondern irgendwann später mal.

                          Im aktuellen Code (aber noch nicht released) ist zumindest ein rudimentärer Check drin.
                          Da wird nach dem nodejs-Ugrade ein

                          cd /opt/iobroker
                          npm i --dry-run
                          

                          ausgeführt und Fehler/Inkompaibilitäten werden dann ausgespuckt. Sieht dann im günstigsten Fall so aus:

                          echad@chet:/opt/iobroker $ npm i --dry-run
                          
                          up to date in 6s
                          
                          248 packages are looking for funding
                            run `npm fund` for details
                          echad@chet:/opt/iobroker $ 
                          

                          Im ungünstigen Fall kannst du eine ellenlange Liste mit Meldungen bekommen.

                          1 Reply Last reply Reply Quote 2
                          • T
                            ticaki Developer @Thomas Braun last edited by

                            @thomas-braun sagte in Nach Nodejs 22 Update - Adapter nicht updatefähig:

                            @ticaki sagte in Nach Nodejs 22 Update - Adapter nicht updatefähig:

                            Frag mich nicht wieso das was mit backitup zutun hat.

                            Nichts direkt. Allerdings macht der Paketmanager npm nichts mehr, wenn da eine nicht auflösbare Konstellation auftaucht.
                            Also Trouble bei yahaka verhindert ein Update von backitup (oder anderen Adaptern).

                            Nur zur Klarstellung - ich konnte damals noch pakete aktualisieren erst bei Backitup ist es dann nicht mehr gegangen - Apollon hat das mit Magie, Wetter, Sternenkonstellation erklärt ^^

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

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

                            835
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

                            6
                            21
                            489
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo