Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Probleme bei Update auf Node.js 16.15.1 unter Windows

    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

    Probleme bei Update auf Node.js 16.15.1 unter Windows

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Ritter @nik82 last edited by

      @nik82 Hallo hab das ganze getestet, es läuft aber Adapter updaten kann man trotzdem nicht. Geht das bei dir?

      nik82 1 Reply Last reply Reply Quote 0
      • nik82
        nik82 Most Active @Ritter last edited by

        @ritter
        Das habe ich leider nicht getestet, da ich nur die Installation gecheckt habe und ob die Adapter alle laufen.
        Habe das aber jetzt nicht als aktives System behalten.

        UweRLP 1 Reply Last reply Reply Quote 0
        • UweRLP
          UweRLP @nik82 last edited by

          Moin.

          Aktuell scheitert bei mir das NodeJS update von 16.17.1 auf die aktuelle 16.18.0.
          ioBroker basiert noch auf einer alten Instanz basierten Installation.
          Bis einschließlich der NodeJS 16.17.1 funktionierte das Update nach bewährten Schema.

          • ioBroker stoppen
          • neue Version von NodeJS in das Verzeichnis nodejs kopieren
          • und anschließen die alte nodevars.bat zurück kopieren

          Diesmal leider nicht, ioBroker beendet sich nach start wieder.
          Kopiere ich das alte Verzeichnis nodejs mit der Version 16.17.1 zurück dann läuft ioBroker wieder.
          Einer eine Idee?

          Anbei das start log

          2022-10-13 06:53:59.710  - info: host.HP-ED800(iobroker003) iobroker.js-controller version 4.0.23 js-controller starting
          2022-10-13 06:53:59.712  - info: host.HP-ED800(iobroker003) Copyright (c) 2014-2022 bluefox, 2014 hobbyquaker
          2022-10-13 06:53:59.712  - info: host.HP-ED800(iobroker003) hostname: HP-ED800(iobroker003), node: v16.18.0
          2022-10-13 06:53:59.712  - info: host.HP-ED800(iobroker003) ip addresses: 2a02:810b:1fa0:39a:d55d:bc6:f0f7:82f4 2a02:810b:1fa0:39a:8cdf:7189:4034:124b fe80::d55d:bc6:f0f7:82f4 10.111.112.39
          2022-10-13 06:54:00.491  - info: host.HP-ED800(iobroker003) connected to Objects and States
          2022-10-13 06:54:00.530  - info: host.HP-ED800(iobroker003) Node.js version has changed from 16.17.1 to 16.18.0
          2022-10-13 06:54:00.531  - info: host.HP-ED800(iobroker003) added notifications configuration of host
          2022-10-13 06:54:00.681  - error: host.HP-ED800(iobroker003) uncaught exception: A system error occurred: uv_uptime returned EPERM (operation not permitted)
          2022-10-13 06:54:00.681  - error: host.HP-ED800(iobroker003) SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_uptime returned EPERM (operation not permitted)
              at C:\Program Files\iobroker\iobroker003\node_modules\pidusage\lib\wmic.js:65:34
              at ChildProcess.<anonymous> (C:\Program Files\iobroker\iobroker003\node_modules\pidusage\lib\bin.js:44:5)
              at ChildProcess.emit (node:events:513:28)
              at maybeClose (node:internal/child_process:1100:16)
              at Socket.<anonymous> (node:internal/child_process:458:11)
              at Socket.emit (node:events:513:28)
              at Pipe.<anonymous> (node:net:301:12)
          2022-10-13 06:54:00.704  - info: host.HP-ED800(iobroker003) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system
          2022-10-13 06:54:00.707  - error: host.HP-ED800(iobroker003) Cannot find view "system" for search "host" : Connection is closed.
          2022-10-13 06:54:00.709  - error: host.HP-ED800(iobroker003) Cannot find view "system" for search "state" : Connection is closed.
          2022-10-13 06:54:00.709  - error: host.HP-ED800(iobroker003) Cannot find view "system" for search "instance" : Connection is closed.
          2022-10-13 06:54:00.710  - error: host.HP-ED800(iobroker003) Could not collect system.host.HP-ED800(iobroker003) states to check for obsolete states: Error: Cannot find view "system"
          2022-10-13 06:54:00.710  - error: host.HP-ED800(iobroker003)  _design/system missing - call node iobroker.js setup
          2022-10-13 06:54:00.710  - info: host.HP-ED800(iobroker003)  no instances found
          2022-10-13 06:54:00.711  - info: host.HP-ED800(iobroker003) no instances found
          2022-10-13 06:54:00.712  - error: host.HP-ED800(iobroker003) Cannot write host object:Error: DB closed
          2022-10-13 06:54:00.716  - info: host.HP-ED800(iobroker003) terminated
          
          apollon77 1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 @UweRLP last edited by

            @uwerlp EPERM ist irgendwas mit Permissions, scheinbar in dem Modul was versucht die uptime des Hosts zu erfragen. Hilft Dir das?

            UweRLP 1 Reply Last reply Reply Quote 0
            • UweRLP
              UweRLP @apollon77 last edited by UweRLP

              @apollon77 Hilft leider nicht wirklich. Ich würde aber mal aus dem Bauch raus sagen ist ein Problem der aktuellen NodeJS 16.18.0.
              Ich werden dann mit dem Update erst mal auf eine neuere NodeJS warten.

              apollon77 1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 @UweRLP last edited by

                @uwerlp sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:

                NodeJS 17.8.0.

                ??

                UweRLP 1 Reply Last reply Reply Quote 0
                • UweRLP
                  UweRLP @apollon77 last edited by UweRLP

                  @apollon77 Sorry meinte 16.18.0

                  Bernd1967 1 Reply Last reply Reply Quote 0
                  • Bernd1967
                    Bernd1967 @UweRLP last edited by Bernd1967

                    Hab das selbe Problem.
                    Bei mir steht folgendes im IOB Log:

                    A system error occurred: uv_uptime returned EPERM (operation not permitted)
                    SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_uptime returned EPERM (operation not permitted)
                    at C:\Software\iobroker\SmartHome\node_modules\pidusage\lib\wmic.js:65:34
                    at ChildProcess.<anonymous> (C:\Software\iobroker\SmartHome\node_modules\pidusage\lib\bin.js:44:5)
                    at ChildProcess.emit (node:events:513:28)
                    at maybeClose (node:internal/child_process:1100:16)
                    at Socket.<anonymous> (node:internal/child_process:458:11)
                    at Socket.emit (node:events:513:28)
                    at Pipe.<anonymous> (node:net:301:12)
                    object system.meta.uuid cannot be updated: Error: DB closed

                    Gibts schon eine Lösung ?

                    Nachtrag:
                    Hab es jetzt auch mit dem Installer von nodejs gemacht.Vorher den alten iobroker Ordner umbennant und mit "sc delete iobroker(SmartHome)" in der command von Windows den alten Dienst entfernt.
                    Dann ioBroker über die node Console mit "npx @iobroker/install" neu installiert (Zielordner muß leer sein). Dies ging dann erstmal schief weil der Port 9001 durch eine java Installation blockiert war, danach lief die Installation durch.
                    Anschließend IOB wieder beendet und den "iobroker-data" Ordner von der alten Installation hineinkopiert.
                    Dann iob wieder gestartet und in der Firewall noch node.exe und iobroker.exe öffentlich freigeben.
                    Im IOBroker wurden dann die Adapter nach und nach wieder installiert.

                    UweRLP 1 Reply Last reply Reply Quote 0
                    • UweRLP
                      UweRLP @Bernd1967 last edited by

                      @bernd1967 Habe Das Problem auch mit einer Neuistallation gelöst, bei mir wars dann gleich verbunden mit einem Umzug auf einen anderen Rechner. https://forum.iobroker.net/post/875377
                      Habe die neue Installation mitlerweile auf Node.js: v16.18.1, NPM: 8.19.2 geupdated.

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        memme @UweRLP last edited by

                        @uwerlp

                        Ich hatte auch den fehler bei dem upgrade auf 16.19.0:

                        SystemError [ERR_SYSTEM_ERROR]: A system error occurred: uv_uptime returned EPERM (operation not permitted)

                        Danke für den tip mit der version 16.17.1. Die tut es auch erstmal. Hoffe der Fehler wird bei den nächsten versionen gefixt.

                        1 Reply Last reply Reply Quote 0
                        • Gaspode
                          Gaspode last edited by

                          Danke für diesen Thread. Hatte auch heute Morgen ein Update auf 16.19.0 versucht und dann zum Glück den Tipp hier gefunden, 16.17.1 zu versuchen. Jetzt läuft ioBroker erstmal unter 16.17.1.

                          Hat jemand eine plausible Erklärung oder gar eine Idee, wie man das für die Zukunft ohne Neuinstallation in den Griff bekommen könnte?

                          UweRLP 1 Reply Last reply Reply Quote 0
                          • UweRLP
                            UweRLP @Gaspode last edited by UweRLP

                            @gaspode Ich habe mittlerweile auf Node v16.19.0 geupdatet. Wichtig zuvor iobroker zu stoppen. Dann habe ich die alte Node Version deinstalliert und die neue installiert. Läuft...

                            surfer09 Gaspode 2 Replies Last reply Reply Quote 1
                            • surfer09
                              surfer09 @UweRLP last edited by

                              Also ich habe auch vor ein paar Tagen auf die 16.19.0 upgedatet. Ich mache das immer wie folgt:

                              • iobroker Dienst stoppen
                              • Neue Node Version herunterladen (https://nodejs.org/en/download/releases/) und einfach in das gleiche Verzeichnis installieren, wo es vorher auch lag (Standardverzeichnis bei mir: C:\Program Files\nodejs)

                              Ich starte dann nach der Installation einmal den kompletten Server durch, so hat es die letzten Male immer funktioniert bei mir. Die NPM Version hängt ja immer mit an der Node Installation und ist nach der Installation auf 16.19.0 auch auf 8.19.3 gesprungen.

                              1 Reply Last reply Reply Quote 0
                              • Gaspode
                                Gaspode @UweRLP last edited by

                                @uwerlp, @surfer09

                                Das Problem scheint ja nur Instanzen zu betreffen, die mit dem "alten" Installer von @Stabilostick installiert wurden. Da wurde Node.js nicht installiert, sondern wohl nur kopiert. Auf diese Weise kann man auf dem gleichen Rechner mehrere ioBroker Instanzen mit unterschiedlichen Node.js Versionen laufen haben. Es gibt also kein Node.js, das man deinstallieren und neu installieren könnte.
                                Daher musste man Node.js manuell austauschen, und bis Version 16.17.1 hat das auch problemlos funktioniert. Seit 16.18.1 funktioniert das seltsamerweise nicht mehr. die Frage ist: Warum?

                                UweRLP 1 Reply Last reply Reply Quote 0
                                • UweRLP
                                  UweRLP @Gaspode last edited by

                                  @gaspode sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:

                                  Das Problem scheint ja nur Instanzen zu betreffen, die mit dem "alten" Installer von @Stabilostick installiert wurden.

                                  Ja stimmt, bei der alten Installation hatte ich auch das Problem mit dem Node Update. Bin dann umgezogen auf einen neuen Rechner mit neuer Installationsmethode (nicht mehr Instanzen) dort ist das Update wie oben beschrieben dann möglich.

                                  1 Reply Last reply Reply Quote 0
                                  • Gaspode
                                    Gaspode last edited by Gaspode

                                    Die Lösung ohne Neuinstallation gibt es hier:
                                    https://forum.iobroker.net/post/924525

                                    Edit: Das betrifft leider nur die, die Probleme mit Node.js Versionen neuer als 16.17.1 haben. Für das Ausgangsproblem in diesem Thread ist das auch nicht die Lösung. Sorry für die Verwirrung.

                                    1 Reply Last reply Reply Quote 1
                                    • nik82
                                      nik82 Most Active last edited by

                                      @gaspode sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:

                                      Die Lösung ohne Neuinstallation gibt es hier:
                                      https://forum.iobroker.net/post/924525

                                      Hi,
                                      da ich jetzt dann meine alte Windows Iobroker Version doch irgendwann mal auf Node 16 bringen will, wollte ich nochmal fragen.
                                      Also ich habe ja wie gesagt eine alte Installation, Nodejs wurde nicht mit einer MSI installiert.

                                      Wie bist du genau vorgegangen?

                                      • ioBroker stoppen
                                      • Node.js downloaden und die MSI installieren
                                        (In welches Verzeichnis? Das vorhande C:\iobroker\nodjs oder das vorgeschlagene unter c:\programme?)
                                      • In Windows das Dienste-Fenster ("Services") als Admin öffnen und den ioBroker Dienst suchen.
                                        Eigenschaften des Dienstes öffnen und auf die Seite "Anmelden" wechseln.
                                        Dort das Häkchen bei "Lokales Systemkonto" setzen, "Dieses Konto" wird dadurch deselektiert
                                      • Iobroker neustarten

                                      Danke im Voraus.

                                      Gaspode 1 Reply Last reply Reply Quote 0
                                      • Gaspode
                                        Gaspode @nik82 last edited by

                                        @nik82 said in Probleme bei Update auf Node.js 16.15.1 unter Windows:

                                        Wie bist du genau vorgegangen?

                                        Das hängt davon ab, wie du ioBroker installiert hast. Hier geht es ja um den "alten Installer" von Stabilostick.

                                        Wenn du den verwendet hast, dann darfst du node.js NICHT per Installer installieren, sonder noed.js als ZIP File herunterladen.

                                        Ich habe hier einiges dazu beschrieben: ioBroker unter Windows - Eine Anleitung und ein Rückblick

                                        Da ist allerdings die komplette Neuinstallation beschrieben, ich habe dir mal die Schritte für das reine Nofe.js Update zusammengefasst:

                                        Ich habe mich bemüht, die manuellen Schritte möglichst einfach mit wenig Potential für Missverständnisse zu beschreiben. Deshalb nutze ich bevorzugt Kommandos, die in der ioBroker Kommandozeile einzutippen sind.

                                        In diesem Beispiel ist ioBroker im Verzeichnis F:\iobroker\SmartHome mit dem Namen SmartHome installiert.

                                        Diese Anleitung geht davon aus, dass ein aktuelles Windows 10 System verwendet wird. Bei (sehr viel) älteren Windows 10 Versionen oder gar Windows 7 werden die unten verwendeten Tools tar und curl nicht funktionieren. Diese Schritte müsstet ihr dann "per Hand" ausführen. Aber wie gesagt, auf einem aktuellen System ist alles an Bord, was man für diese Anleitung braucht.

                                        Im Startmenü gibt es einen neuen Eintrag im Ordner ioBroker mit dem Namen "ioBroker(<Name der Instanz>) Kommandozeile". In meinem Fall heißt der Eintrag also "ioBroker (SmartHome) Kommandozeile".
                                        Diesen Startmenü-Eintrag starten wir jetzt, es erscheint ein Cmd Fenster (evtl. müssen wir zunächst das Administrator Passwort des PCs eingeben, da die ioBroker Kommandozeile als Administrator ausgeführt wird).

                                        **********************************************************
                                        ***               Welcome to ioBroker.                 ***
                                        ***                                                    ***
                                        ***   Type 'iobroker help' for list of instructions.   ***
                                        ***                For more help see                   ***
                                        ***     https://github.com/ioBroker/ioBroker.docs      ***
                                        **********************************************************
                                        
                                        Your environment has been set up for using Node.js 10.17.0 (x64) and npm.
                                        
                                        F:\iobroker\SmartHome>
                                        

                                        Zunächst stoppen wir ioBroker:

                                        iob stop
                                        

                                        Da sich seit Node.js 18.0 etwas in den Berechtigungen geändert hat, müssen wir dem Windows Dienst jetzt einmalig LocalSystem als Konto zuweisen, das machen wir mit

                                        sc config iobroker(<Name der Instanz >) obj=LocalSystem
                                        

                                        In meinem Beispiel also mit

                                        F:\iobroker\SmartHome>sc config iobroker(SmartHome) obj=LocalSystem
                                        [SC] ChangeServiceConfig ERFOLG 
                                        

                                        Wichtig ist die Erfolgsmeldung, ansonsten habt ihr euch wahrscheinlich vertippt.
                                        Jetzt aktualisieren wir Node.js, dazu benennen wir zunächst die alte Version um

                                        rename nodejs nodejs_org
                                        

                                        Und laden die aktuell empfohlene Node.js Version herunter (derzeit 16.19.0, Stand 21.02.2023)
                                        Für 64 Bit Systeme (und das sollten die allermeisten sein) geht das mit

                                        curl --output .\nodejs.zip --url https://nodejs.org/dist/v16.19.0/node-v16.19.0-win-x64.zip
                                        

                                        Für 32 Bit Systeme die URL https://nodejs.org/dist/v16.19.0/node-v16.19.0-win-x86.zip verwenden.

                                        Jetzt packen wir das Zip File aus und benennen den nodejs Ordner passend um (Bei Verwendung der 32 Bit Variante bitte den Pfad im rename Kommando selbst anpassen):

                                        tar xf nodejs.zip
                                        rename node-v16.19.0-win-x64 nodejs
                                        

                                        Und schließlich müssen wir noch die angepasste Datei nodevars.bat übernehmen:

                                        copy /Y nodejs_org\nodevars.bat nodejs\nodevars.bat
                                        

                                        Anschließend starten wir ioBroker wieder mit

                                        iob start
                                        
                                        nik82 2 Replies Last reply Reply Quote 1
                                        • nik82
                                          nik82 Most Active @Gaspode last edited by nik82

                                          @gaspode
                                          Ah ok, also quasi so wie immer (siehe mein Start-Post in diesem Thema).
                                          Das ging ja damals nicht, aber da hab ich auch das Recht vom Iobroker nicht geändert.
                                          Also sollte es quasi wie immer gehen, nur eben das Recht vom Dienst auf "Lokales Systemkonto" ändern.
                                          Das wäre ja perfekt, wenn das so klappt.
                                          Vielen Dank für die ausführliche Info.
                                          Das Ganze werde ich nächstes Wochenende durchziehen, gebe dann Bescheid obs klappt.

                                          Danke👍

                                          1 Reply Last reply Reply Quote 1
                                          • nik82
                                            nik82 Most Active @Gaspode last edited by nik82

                                            @gaspode
                                            Hi,
                                            so wie besprochen habe ich das jetzt so wie du gesagt hast getestet.
                                            Und es stimmt, der Iobroker startet tätsächlich!

                                            ABER: Mein Problem (siehe Startpost) ist dadurch nicht erledigt:

                                            npm -v bring immer noch einen Fehler:

                                            db4a484a-63f1-4781-9c23-7ab9ee10ef21-image.png

                                            C:\iobroker\SmartHome>npm -v
                                            C:\iobroker\SmartHome\nodejs\node_modules\npm\node_modules\socks-proxy-agent\dist\index.js:110
                                            class SocksProxyAgent extends agent_base_1.Agent {
                                                                                       ^
                                            
                                            TypeError: Class extends value undefined is not a constructor or null
                                                at Object.<anonymous> (C:\iobroker\SmartHome\nodejs\node_modules\npm\node_modules\socks-proxy-agent\dist\index.js:110:44)
                                                at Module._compile (node:internal/modules/cjs/loader:1165:14)
                                                at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
                                                at Module.load (node:internal/modules/cjs/loader:1043:32)
                                                at Function.Module._load (node:internal/modules/cjs/loader:878:12)
                                                at Module.require (node:internal/modules/cjs/loader:1067:19)
                                                at require (node:internal/modules/cjs/helpers:103:18)
                                                at Object.<anonymous> (C:\iobroker\SmartHome\nodejs\node_modules\npm\node_modules\make-fetch-happen\lib\agent.js:174:29)
                                                at Module._compile (node:internal/modules/cjs/loader:1165:14)
                                                at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
                                                at Module.load (node:internal/modules/cjs/loader:1043:32)
                                                at Function.Module._load (node:internal/modules/cjs/loader:878:12)
                                                at Module.require (node:internal/modules/cjs/loader:1067:19)
                                                at require (node:internal/modules/cjs/helpers:103:18)
                                                at Object.<anonymous> (C:\iobroker\SmartHome\nodejs\node_modules\npm\node_modules\make-fetch-happen\lib\remote.js:7:18)
                                                at Module._compile (node:internal/modules/cjs/loader:1165:14)
                                            C:\iobroker\SmartHome\nodejs\node_modules\npm\node_modules\socks-proxy-agent\dist\index.js:110
                                            class SocksProxyAgent extends agent_base_1.Agent {
                                                                                       ^
                                            
                                            TypeError: Class extends value undefined is not a constructor or null
                                                at Object.<anonymous> (C:\iobroker\SmartHome\nodejs\node_modules\npm\node_modules\socks-proxy-agent\dist\index.js:110:44)
                                                at Module._compile (node:internal/modules/cjs/loader:1165:14)
                                                at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
                                                at Module.load (node:internal/modules/cjs/loader:1043:32)
                                                at Function.Module._load (node:internal/modules/cjs/loader:878:12)
                                                at Module.require (node:internal/modules/cjs/loader:1067:19)
                                                at require (node:internal/modules/cjs/helpers:103:18)
                                                at Object.<anonymous> (C:\iobroker\SmartHome\nodejs\node_modules\npm\node_modules\make-fetch-happen\lib\agent.js:174:29)
                                                at Module._compile (node:internal/modules/cjs/loader:1165:14)
                                                at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
                                                at Module.load (node:internal/modules/cjs/loader:1043:32)
                                                at Function.Module._load (node:internal/modules/cjs/loader:878:12)
                                                at Module.require (node:internal/modules/cjs/loader:1067:19)
                                                at require (node:internal/modules/cjs/helpers:103:18)
                                                at Object.<anonymous> (C:\iobroker\SmartHome\nodejs\node_modules\npm\node_modules\make-fetch-happen\lib\remote.js:7:18)
                                                at Module._compile (node:internal/modules/cjs/loader:1165:14)
                                            
                                            C:\iobroker\SmartHome>
                                            

                                            Nun weiß ich aber gar nicht wie sich das auswirkt, da der Iobroker läuft, ich muss jetzt mal schauen was nicht läuft, aber ich denke, dass kann nicht in Ordnung sein und wird mir Probleme bereiten.

                                            Hat hier jemand noch eine Idee?

                                            Danke im Voraus.

                                            nik82 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

                                            895
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            100
                                            5374
                                            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