NEWS
Probleme bei Update auf Node.js 16.15.1 unter Windows
-
Hallo,
ich wollte nun meinen Iobroker wieder auf Stand bringen und von der Node.js 14 auf Node.js 16 updaten.Habe das ja schön öfters gemacht und bin wieder nach dem Schema vorgegangen:
Konsole: iobroker stop - Sicherung des Ordners: C:\Program Files\iobroker\deinhostname\nodejs auf dem Desktop - Download der aktuellen Node.js Version als Archiv: https://nodejs.org/dist/v16.15.1/node-v16.15.1-win-x64.zip - Entpacken des Downloads und kopieren den Gesamten Ordners über den vorhandenen C:\Program Files\iobroker\deinhostname\nodejs Ordner. - Kopiere aus der Sicherungskopie des Desktops die Datei nodevars.bat in den Ordner C:\Program Files\iobroker\deinhostname\nodejs - Konsole: iobroker start
Danach startet mir aber der ioBroker nicht mehr.
node -v gibt die 16er Version aus:
Aber npm -v bring einen Fehler:
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:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (C:\iobroker\SmartHome\nodejs\node_modules\npm\node_modules\make-fetch-happen\lib\agent.js:174:25) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102: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:1105: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:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (C:\iobroker\SmartHome\nodejs\node_modules\npm\node_modules\make-fetch-happen\lib\agent.js:174:25) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102: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:1105:14) C:\iobroker\SmartHome>
Kann mir hier jemand helfen?
Danke im Voraus.
-
@nik82 Hi,
Es sieht für mich aus als ob Du eine Installation hat die mit dem "alten" Installer gemacht wurde und daher npm "lokal" installiert haben und jetzt hast Du denke ich (Annahme) global node.js aktualisiert ... jetzt kann ich mir nur vorstellen das deine "Lokale" npm Version nicht mehr mit dieser globalen Node.js tut.
@sigi234 Hast Du hier erfahrungen mit Installationen des "alten" Installers und node.js updates?
Eine Option ist natürlich ein Backup zu machen, alles zu löschen und mit dem neuen Installer neu zu installieren ... Für vllt andere Optionen müssten die User mit Windows Ahnung ran.
-
@apollon77
Erstmal vielen Dank für deine Hilfe.Also ich hab immer mit dem "normalen" Installer für Windows installiert oder größere Upgrades gemacht: https://www.iobroker.net/#de/download
Ich hab derweil auch mal auf einer Testmaschine mit dem "normalen" Installer eine neue Installation von ioBroker gemacht und dann bei der Grundinstallation das node.js wie oben beschrieben upgedatet, selbst da kommt der npm Fehler.
Vielleicht weis @sigi234 etwas, weil er ja in dem anderen Threat geschrieben hat, dass die alte Vorgehensweise nicht mehr mit Node 16 funktioniert. Ich weiß nicht ob er mit alter Vorgehensweise das updaten meint wie ich oben geschrieben habe.
-
@nik82 sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Vielleicht weis @sigi234 etwas, weil er ja in dem anderen Threat geschrieben hat, dass die alte Vorgehensweise nicht mehr mit Node 16 funktioniert. Ich weiß nicht ob er mit alter Vorgehensweise das updaten meint wie ich oben geschrieben habe.
Ja, Node 16 und altes Update geht nicht.
-
@sigi234
Danke für deine Rückantwort.
Das bringt Licht in DunkelWie kann ich jetzt eine vorhandene Installation auf Node 16 updaten?
-
@apollon77 sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Eine Option ist natürlich ein Backup zu machen, alles zu löschen und mit dem neuen Installer neu zu installieren ... Für vllt andere Optionen müssten die User mit Windows Ahnung ran.
Das habe ich noch nicht getestet.
-
@sigi234
Ich teste gerne was durch wenn du mir bisschen Input gibst und Lust hast. -
@nik82 sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:
@sigi234
Ich teste gerne was durch wenn du mir bisschen Input gibst und Lust hast.Ich habe die alte Installation belassen (auf manuellen Start umgestellt) und mit dem Neuen Installer das System wieder aufgebaut.
Vorher hatte ich von der Alten Installation alles exportiert ( Projekte, Skripte Adapter json) , diese dann nach und nach importiert.Ein Update mache ich jetzt nur mit dem herunterladend der entsprechenden MSI Datei auf Node JS
-
Hallo,
ich wollte letzte Woche auch auf Node 16 updaten. Nach der Anleitung im Forum konnte ich nicht gehen, da es in meinem iobroker Verzeichnis keinen Ordner mit nodejs gibt. Ich habe es dann wie immer gemacht, d.H. iobroker gestoppt, nodejs installer heruntergeladen und installiert. Dann war 14 weg und 16 drauf. Nach Start von iobroker lief auch wieder alles (Zigbee Adapter hat irgend etwas kompiliert). Nur man konnte dann keine Adapter mehr aktualiesieren oder neu anlegen. Dann habe ich wieder Version 14 installiert.
-
@ritter sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Nur man konnte dann keine Adapter mehr aktualiesieren oder neu anlegen. Dann habe ich wieder Version 14 installiert.
Beta 6 vom Admin installiert?
https://forum.iobroker.net/topic/55381/admin-6-0-neu-als-beta
-
Ja, hier gab es auch diesen Fehler, es ging aber auch nicht über die Konsole.
-
@sigi234 sagte in [Probleme bei Update auf Node.js 16.15.1 unter Windows]
Vorher hatte ich von der Alten Installation alles exportiert ( Projekte, Skripte Adapter json) , diese dann nach und nach importiert.
Puh, das ist ja eine Wahnsinns arbeit.
Das müsste ich dann am Wochenende und Stück für Stück machen, habe über 50 Adapter am laufen, müsste ja dort auch die jeweiligen Einstellungen notieren und was ist mit den ganzen Daten in den Objekten?Gibt es (noch) keine Möglichkeit für eine Migration, einfach den iobroker-data wieder in die Neuinstallation schubsen wird nicht gehen oder
(kleines Wunschdenken)
-
@ritter sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Ja, hier gab es auch diesen Fehler, es ging aber auch nicht über die Konsole.
Welche Version?
-
@sigi234 Admin jetzt 6.1.9
-
Habe jetzt nochmal auf nodejs 16 aktualisiert. Beim installieren von einem Adapter über git kommt folgendes:
$ iobroker url iobroker-community-adapters/ioBroker.accuweather --host NUC --debug install iobroker-community-adapters/ioBroker.accuweather host.NUC Adapter "system.adapter.accuweather.0" is stopped. npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead. Installing iobroker-community-adapters/ioBroker.accuweather... (System call) npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
Da bleibt er dann stehen. Letzte Woche ging es dann aber je nach Adapter zwischen 10 und 30 Minuten weiter und hat geschrieben das er aktualisiert ist, war aber trotzdem noch die alte Version drauf.
-
Jetzt hat er weiter gemacht:
$ iobroker url iobroker-community-adapters/ioBroker.accuweather --host NUC --debug install iobroker-community-adapters/ioBroker.accuweather host.NUC Adapter "system.adapter.accuweather.0" is stopped. npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead. Installing iobroker-community-adapters/ioBroker.accuweather... (System call) npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead. npm WARN ERESOLVE overriding peer dependency npm WARN 1 more (iobroker.vis-widget-thermostat) npm WARN npm WARN Conflicting peer dependency: react@17.0.2 npm WARN node_modules/react npm WARN peer react@"^17.0.0" from @mui/styles@5.8.4 npm WARN node_modules/@mui/styles npm WARN @mui/styles@"^5.8.0" from @iobroker/adapter-react-v5@3.1.3 npm WARN node_modules/@iobroker/adapter-react-v5 npm WARN 1 more (iobroker.vis-widget-thermostat) npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: info@0.0.6-beta.0 npm ERR! Found: react@18.2.0 npm ERR! node_modules/react npm ERR! peer react@"^15.0.0 || >=16.0.0" from echarts-for-react@3.0.2 npm ERR! node_modules/echarts-for-react npm ERR! echarts-for-react@"^3.0.2" from iobroker.vis-widget-thermostat@1.13.0 npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Christian\AppData\Local\npm-cache\_logs\2022-07-03T20_50_20_738Z-debug-0.log upload [4] accuweather.admin c:/iobroker/node_modules/iobroker.accuweather/admin/accuweather.png accuweather.png image/png upload [3] accuweather.admin c:/iobroker/node_modules/iobroker.accuweather/admin/image.png image.png image/png upload [1] accuweather.admin c:/iobroker/node_modules/iobroker.accuweather/admin/style.css style.css text/css upload [0] accuweather.admin c:/iobroker/node_modules/iobroker.accuweather/admin/words.js words.js application/javascript Update "system.adapter.accuweather.0" host.NUC Adapter "system.adapter.accuweather.0" is started Process exited with code 0
-
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.