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.
    • Thomas Braun
      Thomas Braun Most Active @MCU last edited by

      @mcu

      cd /opt/iobroker
      npm ls
      npm i --dry-run
      
      M 1 Reply Last reply Reply Quote 0
      • 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

                              424
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              6
                              21
                              491
                              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