NEWS
Probleme bei Update auf Node.js 16.15.1 unter Windows
-
Gibt es für das Problem einen Lösungsansatz wo ich suchen könnte? Die Adapter bleiben nach dem update auf dem alten Stand.
-
-
-
Schau mal ob per
npm prune
die ganzen extraneous Einträge schon mal weg sind.
Und die ganzen Adapter aus github setzt du da wo möglich auf eine Version aus einem Repository. -
Wollte hier nur mal Bescheid geben, habe einen Test gemacht:
- Vorhandenes nodejs Verzeichnis verschoben
- Node.js v16 Windows Installation heruntergeladen und in das Verzeichnis installiert wo das alte drin war
- nodevars.bat von dem verschobenen alten Verzeichnis ins neue kopiert
- Iobroker gestartet
Es funktioniert tatsächlich, es laufen alle Adapter und Daten sind alle wie vorher da.
Werde es trotzdem jetzt erstmal noch nicht aktiv lassen, da ich jetzt nicht komplett alles testen kann und ich momentan keinerlei Nachteile mit der Nodejs v14 habe.
Aber vielleicht hat ja auch wer anderes noch Lust das Ganze so zu testen.
-
@nik82 Hallo hab das ganze getestet, es läuft aber Adapter updaten kann man trotzdem nicht. Geht das bei dir?
-
@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. -
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 - [32minfo[39m: host.HP-ED800(iobroker003) iobroker.js-controller version 4.0.23 js-controller starting 2022-10-13 06:53:59.712 - [32minfo[39m: host.HP-ED800(iobroker003) Copyright (c) 2014-2022 bluefox, 2014 hobbyquaker 2022-10-13 06:53:59.712 - [32minfo[39m: host.HP-ED800(iobroker003) hostname: HP-ED800(iobroker003), node: v16.18.0 2022-10-13 06:53:59.712 - [32minfo[39m: 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 - [32minfo[39m: host.HP-ED800(iobroker003) connected to Objects and States 2022-10-13 06:54:00.530 - [32minfo[39m: host.HP-ED800(iobroker003) Node.js version has changed from 16.17.1 to 16.18.0 2022-10-13 06:54:00.531 - [32minfo[39m: host.HP-ED800(iobroker003) added notifications configuration of host 2022-10-13 06:54:00.681 - [31merror[39m: host.HP-ED800(iobroker003) uncaught exception: A system error occurred: uv_uptime returned EPERM (operation not permitted) 2022-10-13 06:54:00.681 - [31merror[39m: 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 - [32minfo[39m: 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 - [31merror[39m: host.HP-ED800(iobroker003) Cannot find view "system" for search "host" : Connection is closed. 2022-10-13 06:54:00.709 - [31merror[39m: host.HP-ED800(iobroker003) Cannot find view "system" for search "state" : Connection is closed. 2022-10-13 06:54:00.709 - [31merror[39m: host.HP-ED800(iobroker003) Cannot find view "system" for search "instance" : Connection is closed. 2022-10-13 06:54:00.710 - [31merror[39m: 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 - [31merror[39m: host.HP-ED800(iobroker003) _design/system missing - call node iobroker.js setup 2022-10-13 06:54:00.710 - [32minfo[39m: host.HP-ED800(iobroker003) no instances found 2022-10-13 06:54:00.711 - [32minfo[39m: host.HP-ED800(iobroker003) no instances found 2022-10-13 06:54:00.712 - [31merror[39m: host.HP-ED800(iobroker003) Cannot write host object:Error: DB closed 2022-10-13 06:54:00.716 - [32minfo[39m: host.HP-ED800(iobroker003) terminated
-
@uwerlp EPERM ist irgendwas mit Permissions, scheinbar in dem Modul was versucht die uptime des Hosts zu erfragen. Hilft Dir das?
-
@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 Sorry meinte 16.18.0
-
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 closedGibts 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. -
@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. -
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.
-
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?
-
@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...
-
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.
-
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? -
@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.