Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. nodejs-update - post-install Check?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    nodejs-update - post-install Check?

    This topic has been deleted. Only users with topic management privileges can see it.
    • mcm1957
      mcm1957 last edited by

      @Thomas-Braun

      Da ich nicht weiß ob / wo nodejs-update ein Repository für Issues hat hier eine Anregung zur Diskussion.

      Man nehme folgende Situation:
      Ein System ist fehlerfrei installiert. Node.js 20 ist dort im Einsatz. Auch ein Adapter (konkret yahka) ist installiert. Alles läuft einwandfrei.

      Der User aktualisisert nun node.js auf 22. Dabei kommt es zu keinen Fehlermeldungen und auch das System läuft bzw. scheint zu laufen. Zumindest bemerkt mal der User nichts.

      Und nun versucht der User irgendeinen Adapter zu aktualisieren. Bums - Fehlermeldung dass eine Dependency eines ganz anderen Adapters nicht erfüllt ist da diese Dependency node.js <=20 erfordert.


      Hintergrund:
      yahka (1.1.4) hat als dependency 'hap-nodejs@1.1.0' welches node 18 oder 20 verlangt.


      Anregung:

      Da es wohl nicht vor einem node.js Update möglich ist ob die dependencies aller installierten Adapter diesen Update erlauben, rege an zu überlegen, ob NACH der Installation der neuen node-js Version direkt in nodejs-update getestet werden könnte ob noch alles passt. Das hätte den Vorteil, dass der User den Zusammenhang zum node-js Update sofort gemeldet bekommt und entsprechend reagieren kann (Update von Adapter, notfalls Downgrade von node.js).

      Erkennbar wäre dies m.E. durch einen Aufruf von 'npm i --dry-run'.


      Ich habe das in folgendem scenario getestet:

      • node.js 20 installiert
      • yahka 1.1.4 installiert
      • node.js auf 22 aktualisiert

      npm i --dry-run liefert mir dann eine klare Fehlermeldung:

      C:\ioBroker>npm i --dry-run
      npm warn EBADENGINE Unsupported engine {
      npm warn EBADENGINE   package: 'hap-nodejs@1.1.0',
      npm warn EBADENGINE   required: { node: '^18 || ^20' },
      npm warn EBADENGINE   current: { node: 'v22.16.0', npm: '10.9.2' }
      npm warn EBADENGINE }
      add fsevents 2.3.3
      
      added 1 package in 3s
      
      173 packages are looking for funding
        run `npm fund` for details
      
      C:\ioBroker>
      

      Bitte einfach mal drüber nachdenken. Diese Posting soll eine Diskussionsanregung sein. Kann gut sein, dass ich wichtige Dinge, auch KO Kriterien, übersehen habe.

      Kommentare sind herzlich willkommen.

      Meine Intention ist dem User so früh wie möglich zu informieren dass auf seinem System was zu tun ist. Derzeit ist es proaktiv kaum möglich so eine Situation zu erkennen und ein unerfahrener User wundert sich dass er (wie im Anlassfall aufgetreten) beim Installieren von backitup eine Fehlermeldung von yahka / hap-node kommt und kennt sich nur bedingt aus.

      mcm1957

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

        @mcm1957

        Kann man natürlich einbauen.
        Viel wichtiger ist es allerdings diese Kinken zu finden und auszuräumen, bevor nodejs@22 zur offiziellen Empfehlung wird.

        mcm1957 1 Reply Last reply Reply Quote 0
        • mcm1957
          mcm1957 @Thomas Braun last edited by

          @thomas-braun

          YAHKA ist bekannt. (https://github.com/jensweigele/ioBroker.yahka/issues/501). Wanns gefixed isgt / wird kann nur der Maintainer sagen.

          Obs noch weitere gibt - keine Ahnung.
          Auch keine Ahnung wie das testbar wäre...

          Aber check mal ob so ein psot INstall check sinnvoll ist oder du mit deinem Wissen Nebenwirkungen findest. Ev. kann der ja auch andere npm Tree Probleme aufzeigen. Er sollte nur nichts verändern oder instalieren. Das müßte aber durch --dry-run eigentlich sichergestellt sein.

          mcm1957 created this issue in jensweigele/ioBroker.yahka

          open Node.js 22 NOT supported? #501

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

            @mcm1957
            Hab mal auf die Schnelle was gecodet:
            Im positiven Fall schaut es dann so oder so ähnlich aus:

            CHECKING FOR COMPATIBILITY NOW!
            add node-aead-crypto-win32-x64-msvc 3.0.1
            add node-aead-crypto-win32-ia32-msvc 3.0.1
            add node-aead-crypto-win32-arm64-msvc 3.0.1
            add node-aead-crypto-linux-x64-musl 3.0.1
            add node-aead-crypto-linux-x64-gnu 3.0.1
            add node-aead-crypto-linux-arm-gnueabihf 3.0.1
            add node-aead-crypto-darwin-x64 3.0.1
            add node-aead-crypto-darwin-universal 3.0.1
            add node-aead-crypto-darwin-arm64 3.0.1
            add node-aead-crypto-android-arm64 3.0.1
            add node-aead-crypto-android-arm-eabi 3.0.1
            add fsevents 2.3.3
            
            added 12 packages in 8s
            
            267 packages are looking for funding
              run `npm fund` for details
            
            We tried our best to fix your nodejs. Please run iob diag again to verify.
            

            Im Fehlerfall dann so:

            CHECKING FOR COMPATIBILITY NOW!
            npm error code EBADENGINE
            npm error engine Unsupported engine
            npm error engine Not compatible with your version of node/npm: hap-nodejs@1.1.0
            npm error notsup Not compatible with your version of node/npm: hap-nodejs@1.1.0
            npm error notsup Required: {"node":"^18 || ^20"}
            npm error notsup Actual:   {"npm":"10.9.2","node":"v22.16.0"}
            npm error A complete log of this run can be found in: /home/echad/.npm/_logs/2025-05-27T20_36_15_751Z-debug-0.log
            
            We tried our best to fix your nodejs. Please run iob diag again to verify.
            
            *** RESTARTING ioBroker NOW! *** 
             Please refresh or restart your browser in a few moments.
            

            Im Terminal dann halt error in rot, damit man es auch sieht. Ich muss mal schauen, ob man die Fehlermeldungen auch noch genauer auswerten kann und dann eine Handlungsanweisung/Nachfrage wie:

            Die gerade installierte Version ist nicht mit allen Adaptern kompatibel. Soll die vorherige Version wieder installiert werden?

            kommt.

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

              @mcm1957

              https://github.com/ioBroker/ioBroker/pull/616

              Grothesk242 created this issue in ioBroker/ioBroker

              open Basic Post install check #616

              mcm1957 1 Reply Last reply Reply Quote 1
              • mcm1957
                mcm1957 @Thomas Braun last edited by

                @thomas-braun
                Ich frag mich warum npm da gerne Pakete installieren würde. Das könnte ev. User verwirren.
                Auf meinem Testsystem würde npm auch gerne iobroker.inst@x.y.z installieren - warum aus immer.

                Ev. kann man da noch was mit dem Status machen, hab das nicht angeschaut. Oder auf NPM error filter. Aber da hast du sicher die bessren Ideen was da sinnvoll ist.

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

                  @mcm1957 sagte in nodejs-update - post-install Check?:

                  Ich frag mich warum npm da gerne Pakete installieren würde.

                  Hab ich mich auch gefragt...

                  Muss mich mal näher mit npm und was da so an Feinheiten möglich ist beschäftigen.
                  Für fsevents findet man aber:

                  echad@chet:/opt/iobroker $ npm why fsevents
                  fsevents@2.3.3 optional
                  node_modules/fsevents
                    optional fsevents@"~2.3.2" from chokidar@3.6.0
                    node_modules/chokidar
                      chokidar@"^3.5.3" from @iobroker/js-controller-cli@7.0.7
                      node_modules/@iobroker/js-controller-cli
                        @iobroker/js-controller-cli@"7.0.7" from iobroker.js-controller@7.0.7
                        node_modules/iobroker.js-controller
                          iobroker.js-controller@"7.0.7" from the root project
                  echad@chet:/opt/iobroker $
                  
                  mcm1957 1 Reply Last reply Reply Quote 1
                  • mcm1957
                    mcm1957 @Thomas Braun last edited by

                    @thomas-braun
                    Frag mich nur warum dass dann nicht bei js-controlelr installtion installiert wird.
                    Aber npm ist manchmal (?) ein Rätsel.

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

                      @mcm1957

                      Weil es wohl nur optional ist. Vielleicht hat man da da Policy in aktuellen Versionen umgestellt und man zieht die nun doch rein? Muss mich da mal genauer in die Doku knien.

                      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

                      472
                      Online

                      31.7k
                      Users

                      79.7k
                      Topics

                      1.3m
                      Posts

                      2
                      9
                      188
                      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