NEWS
Probleme bei Update auf Node.js 16.15.1 unter Windows
-
@thomas-braun said in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Wird npm bei dem Fenster-OS nicht separat installiert?
Nein. Kommt mit node.js
-
@thomas-braun
Naja das ist genau das Problem, alles war vor node 16 war konnte man einfach ins vorhandene Verzeichnis reinkopieren.
Seit Node 16 muss man es anscheinend installieren, deswegen war das Update von Node 14 auf jetzt Node 16 anders wie sonst.
Und im Node Setup ist auch NPM drin. -
@nik82
Ich muss jetzt leider weg, aber ja, dem sollte man noch nachgehen. -
@nik82 said in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Seit Node 16 muss man es anscheinend installieren, deswegen war das Update von Node 14 auf jetzt Node 16 anders wie sonst.
Nein, muss man nicht. Geht wie zuvor, nur den Service-User muss man ändern.
-
@gaspode
Ok, wäre super wenn du mir da irgendwann nochmal helfen kannst, weil ich wüsste jetzt nicht wie ich den Fehler wegbekommen sollte -
@gaspode sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:
@nik82 said in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Seit Node 16 muss man es anscheinend installieren, deswegen war das Update von Node 14 auf jetzt Node 16 anders wie sonst.
Nein, muss man nicht. Geht wie zuvor, nur den Service-User muss man ändern.
Nein, da muss ich dir leider widersprechen, das war bei mir eben nicht so.
Wenn ich die Node 16 kopiert habe, dann kommt sofort ein dicker Fehler mit npm -v, siehe erster Post.
Dieser Fehler ging erst weg, als ich wirklich das Windows Setup benutzt habe und ins vorhandene Verzeichnis installiert habe.Die Umstellung des Service Users brauchste ich dann "NUR" für den Iobroker Start.
Weil npm -v kann man ja ohne Iobroker start ausführen und da kam beim kopieren schon eine Fehlermeldung.
-
@nik82 sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Naja das ist genau das Problem, alles war vor node 16 war konnte man einfach ins vorhandene Verzeichnis reinkopieren.
Du sprichst genau wovon? Nodejs-Module müssten schon immer ordentlich installiert und in den package* Jason eingetragen werden. Da hat sich lediglich das Format etwas geändert.
-
@Gaspode
Habe jetzt Javascript noch aktualisiert, jetzt kommt auch kein Fehler mehr mit "npm ls -a"Dann glaube ich passt das oder soll ich noch etwas prüfen?
Auf jedenfall vielen, vielen Dank, ohne deine Hilfe hätte ich das niemals geschafft!
Danke, danke, danke -
-
@thomas-braun
So habe jetzt erstmal ein Backup gemacht.iobroker update:
C:\iobroker\SmartHome>iobroker update Used repository: stable Adapter "admin" : 6.3.5 , installed 6.3.5 Adapter "alexa2" : 3.23.2 , installed 3.11.2 [Updatable] Adapter "backitup" : 2.5.12 , installed 2.4.9 [Updatable] Adapter "cloud" : 4.3.0 , installed 4.3.1 Adapter "daswetter" : 3.1.4 , installed 3.1.4 Adapter "device-watcher": 2.4.0 , installed 2.5.0 Adapter "discovery" : 3.1.0 , installed 3.0.5 [Updatable] Adapter "email" : 1.1.4 , installed 1.1.3 [Updatable] Adapter "feiertage" : 1.1.0 , installed 1.1.0 Adapter "flot" : 1.11.0 , installed 1.10.7 [Updatable] Adapter "fronius" : 1.1.3 , installed 1.1.6 Adapter "go-e" : 1.0.23 , installed 1.0.25 Adapter "harmony" : 1.2.2 , installed 1.2.2 Adapter "history" : 2.2.4 , installed 1.11.1 [Updatable] Adapter "hm-rega" : 3.0.43 , installed 3.0.40 [Updatable] Adapter "hm-rpc" : 1.15.16 , installed 1.15.12 [Updatable] Adapter "homeconnect" : 1.1.1 , installed 1.1.0 [Updatable] Adapter "ical" : 1.13.2 , installed 1.13.1 [Updatable] Adapter "icons-mfd-svg": 1.1.0 , installed 1.1.0 Adapter "info" : 1.9.19 , installed 1.9.19 Adapter "javascript" : 6.1.4 , installed 6.1.4 Controller "js-controller": 4.0.24 , installed 4.0.23 [Updatable] Adapter "landroid" : 1.0.3 , installed 1.0.3 Adapter "logparser" : 1.1.0 , installed 1.1.0 Adapter "milight-smart-light": 1.2.2, installed 1.2.2 Adapter "mobile" : 1.0.1 , installed 1.0.1 Adapter "ping" : 1.5.3 , installed 1.5.3 Adapter "simple-api" : 2.7.2 , installed 2.7.0 [Updatable] Adapter "socketio" : 4.2.0 , installed 4.2.0 Adapter "stiebel-isg" : 1.7.5 , installed 1.7.5 Adapter "telegram" : 1.15.2 , installed 1.13.0 [Updatable] Adapter "tr-064" : 4.2.17 , installed 4.2.17 Adapter "unifi" : 0.5.10 , installed 0.5.10 Adapter "vis" : 1.4.15 , installed 1.4.15 Adapter "vis-colorpicker": 1.2.0 , installed 1.2.0 Adapter "vis-fancyswitch": 1.1.0 , installed 1.1.0 Adapter "vis-hqwidgets": 1.3.0 , installed 1.2.0 [Updatable] Adapter "vis-jqui-mfd" : 1.0.12 , installed 1.0.12 Adapter "vis-justgage" : 1.0.2 , installed 1.0.2 Adapter "vis-map" : 1.0.4 , installed 1.0.4 Adapter "vis-timeandweather": 1.2.2, installed 1.1.7 [Updatable] Adapter "vw-connect" : 0.0.56 , installed 0.0.56 Adapter "web" : 4.3.0 , installed 4.3.0 Adapter "wifilight" : 1.1.4 , installed 1.1.3 [Updatable] Adapter "worx" : 2.0.3 , installed 1.6.6 [Updatable] Adapter "ws" : 1.3.0 , installed 1.3.0 C:\iobroker\SmartHome>
npm ls:
C:\iobroker\SmartHome>npm ls iobroker.inst@2.0.3 C:\iobroker\SmartHome +-- @types/caseless@0.12.2 extraneous +-- @types/request@2.48.8 extraneous +-- @types/tough-cookie@4.0.2 extraneous +-- coffeescript@1.12.7 extraneous +-- colors@1.4.0 +-- fs-extra@7.0.1 +-- iobroker.admin@6.3.5 +-- iobroker.alexa2@3.11.2 +-- iobroker.backitup@2.4.9 +-- iobroker.cloud@4.3.1 +-- iobroker.daswetter@3.1.4 +-- iobroker.device-watcher@2.5.0 (git+ssh://git@github.com/ciddi89/ioBroker.device-watcher.git#c2a2c8e70219770dd1e455fc3706cbaca8efa486) +-- iobroker.discovery@3.0.5 +-- iobroker.email@1.1.3 +-- iobroker.feiertage@1.1.0 +-- iobroker.flot@1.10.7 +-- iobroker.fronius@1.1.6 (git+ssh://git@github.com/iobroker-community-adapters/ioBroker.fronius.git#c644a95d480403a1ef277e822df6232ffc66daf5) +-- iobroker.go-e@1.0.25 (git+ssh://git@github.com/MK-2001/ioBroker.go-e.git#9dc5bf0217da59ff189d496682808d77f978850e) +-- iobroker.google-sharedlocations@2.1.4 (git+ssh://git@github.com/Garfonso/ioBroker.google-sharedlocations.git#018220f3aa3abacc7cf51608006f92a7f10f6442) +-- iobroker.harmony@1.2.2 +-- iobroker.history@1.11.1 +-- iobroker.hm-rega@3.0.40 +-- iobroker.hm-rpc@1.15.12 +-- iobroker.homeconnect@1.1.0 +-- iobroker.ical@1.13.1 (git+ssh://git@github.com/iobroker-community-adapters/ioBroker.ical.git#a2b6a7c9cb7ccc9fa8b9b377bdbf9825e6e4f5f5) +-- iobroker.icons-mfd-svg@1.1.0 +-- iobroker.info@1.9.19 +-- iobroker.javascript@6.1.4 +-- iobroker.js-controller@4.0.23 +-- iobroker.landroid@1.0.3 +-- iobroker.logparser@1.1.0 +-- iobroker.milight-smart-light@1.2.2 +-- iobroker.mobile@1.0.1 +-- iobroker.ping@1.5.3 +-- iobroker.socketio@4.2.0 +-- iobroker.sourceanalytix@0.4.14 (git+ssh://git@github.com/DrozmotiX/ioBroker.sourceanalytix.git#9c4635239c7b9321601dcf0fcdd8677a55a8b13f) +-- iobroker.stiebel-isg@1.7.5 +-- iobroker.telegram@1.13.0 +-- iobroker.tr-064@4.2.17 +-- iobroker.unifi@0.5.10 +-- iobroker.vis-colorpicker@1.2.0 +-- iobroker.vis-fancyswitch@1.1.0 +-- iobroker.vis-hqwidgets@1.2.0 +-- iobroker.vis-jqui-mfd@1.0.12 +-- iobroker.vis-justgage@1.0.2 +-- iobroker.vis-map@1.0.4 +-- iobroker.vis-materialdesign@0.5.86 (git+ssh://git@github.com/Scrounger/ioBroker.vis-materialdesign.git#cf7fc5b85debcda156a3ec7feb761cff217fa855) +-- iobroker.vis-timeandweather@1.1.7 +-- iobroker.vis@1.4.15 +-- iobroker.vw-connect@0.0.56 (git+ssh://git@github.com/ta2k/ioBroker.vw-connect.git#5258d16f58c3a4ed39b309a757353f792fd9fd8e) +-- iobroker.web@4.3.0 +-- iobroker.wifilight@1.1.3 +-- iobroker.worx@1.6.6 (git+ssh://git@github.com/iobroker-community-adapters/ioBroker.worx.git#f74920c46c5918a74bb1987a2e5e841fa1011dca) +-- iobroker.ws@1.3.0 +-- jsonata@1.8.6 extraneous +-- node-inspect@2.0.0 extraneous +-- picocolors@1.0.0 extraneous +-- semver@5.7.1 +-- socks-proxy-agent@7.0.0 +-- suncalc2@1.8.1 extraneous +-- tough-cookie@4.1.2 +-- typescript@4.7.4 extraneous +-- utile@0.3.0 +-- virtual-tsc@0.6.2 extraneous +-- wake_on_lan@1.0.0 extraneous `-- yargs@7.1.0 C:\iobroker\SmartHome>
Kann ich sonst noch was prüfen oder ist alles im "grünen" Bereich?
-
Ran an die Updates....
-
Bin gerade am updaten aller Adapter.
Ist diese Meldung eigentlich normal:
To address issues that do not require attention, run: npm audit fix To address all issues possible (including breaking changes), run: npm audit fix --force Some issues need review, and may require choosing a different dependency. Run `npm audit` for details.
-
@nik82 sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Ist diese Meldung eigentlich normal:
Ja, ist normal, du lässt aber die Finger von npm audit in jeglicher Form.
-
@nik82 said in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Nein, da muss ich dir leider widersprechen, das war bei mir eben nicht so.
Wenn ich die Node 16 kopiert habe, dann kommt sofort ein dicker Fehler mit npm -v, siehe erster Post.Du wirfst da einiges durcheinander. Der Fehler aus dem ersten Post kam bereits wegen deiner verkorksten node.js Umgebung. Das Installieren per MSI war definitiv NICHT nötig. Das Kopieren hätte genau zu dem gleichen Ergebnis geführt.
Das einzige allgemeine Problem mit Node.js > 16.17.1 waren die unzureichenden Rechte des Windows Services.Exkurs:
Das hätte eigentlich gar nicht dazu führen dürfen, dass ioBroker nicht startet, denn die Ursache liegt in einem Fehler im verwendeten Modul pidusage. Ich hab dafür bereits ein Issue angelegt, aber anscheinend wird pidusage derzeit nicht so recht aktiv gepflegt.Ich hab mich die letzten Wochen sehr ausführlich mit ioBroker unter Windows beschäftigt. Das Hauptproblem ist, dass da viele Anleitungen kursieren, die auf falschen Annahmen und Halbwissen basieren. In der node.js Welt gibt es aber abgesehen von der "Installation" praktisch keine Unterschiede zu Linux, deshalb konnte @thomas-braun hier ja auch so schön helfen.
Der Node.js MSI Installer macht bei einer normalen Installation auch nicht mehr, als den ZIP Inhalt zu entpacken und die System-Pfad-Variable anzupassen (OK, es gibt noch nen Registry Eintrag, der ist aber eher informativ).
Und die Anpassung der Pfad-Variablen macht beim alten Installer das Script nodevars.bat, damit man mehrere Node.js Versionen parallel betreiben kann.
@nik82 said in Probleme bei Update auf Node.js 16.15.1 unter Windows:
@Gaspode
Habe jetzt Javascript noch aktualisiert, jetzt kommt auch kein Fehler mehr mit "npm ls -a"Dann glaube ich passt das oder soll ich noch etwas prüfen?
Wie schon geschrieben alle Updates machen, dann sollte es passen.
@nik82 said in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Auf jedenfall vielen, vielen Dank, ohne deine Hilfe hätte ich das niemals geschafft!
Danke, danke, dankeGerne. Wenn dir ein Beitrag hilft, darfst du den auch gerne Upvoten.
-
@thomas-braun
Ok super, danke dir.@Gaspode
Ok, aber um das Ganze nochmal aufzugreifen, weils ja anderen auch helfen soll:Wenn ich Node.JS nach Anleitung kopiere und führe dann npm -v aus, kommt das:
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>
Dann habe ich das Ganze mit dem MSI Installer gemacht und es kam bei NPM -v sofort diese Meldung:
Also muss es ja einen Unterschied geben?
Was natürlich sein könnte, wenn man nach dem kopieren den "socks-proxy-agent" Fehler behoben hätte, aber ob sich der Befehl "npm i socks-proxy-agent@latest" überhaupt ausgeführt hätte wenn "npm -v" schon einen Fehler schmeißt ist fraglich.
Ausprobieren will ich das jetzt nicht mehr -
@nik82 said in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Was natürlich sein könnte, wenn man nach dem kopieren den "socks-proxy-agent" Fehler behoben hätte, aber ob sich der Befehl "npm i socks-proxy-agent@latest" überhaupt ausgeführt hätte wenn "npm -v" schon einen Fehler schmeißt ist fraglich.
Das wird es aber gewesen sein. Ich habe bei meine Testereien die letzen Wochen bestimmt 10 mal node.js in diversen "alten Installer Installationen" per ZIP aktualisiert. Es ging jedes mal. Und wie gesagt, der Installer macht auch nicht mehr als die Dateien hinzulegen und den System-Pfad zu setzen, der in deinem Fall nicht mal gebraucht wird. Auch andere hier im Thread haben ja berichtet, dass das Update per ZIP geht, nur halt nicht für Versionen > 16.17.1, was aber definitiv ein anderes Problem war (Service User).
Dein erstes Problem lag definitiv am verkorksten Modul socks-proxy-agent, nicht an der Art, wie node.js installiert war.
-
@gaspode
Ok, dann ist das Thema auch gelöst, hilft bestimmt auch anderen.Also nochmal vielen vielen Dank für eure tolle Unterstützung
-
@gaspode sagte in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Und die Anpassung der Pfad-Variablen macht beim alten Installer das Script nodevars.bat, damit man mehrere Node.js Versionen parallel betreiben kann.
Kurze allgemeine Frage, wenn ich nodejs über msi installiere, muss ich dann die nodevars.bat gar nicht mehr vom alten Verzeichnis kopieren?
Also könnte ich dann die von der original Installation drin lassen?
Wäre nur für das nächste Update interessant. -
@nik82 said in Probleme bei Update auf Node.js 16.15.1 unter Windows:
Kurze allgemeine Frage, wenn ich nodejs über msi installiere, muss ich dann die nodevars.bat gar nicht mehr vom alten Verzeichnis kopieren?
Doch, das solltest du weiterhin tun. Stabilostick hat sich da einen Mechanismus ausgedacht, der das braucht.
Ich an deiner Stelle würde mal über eine Neuinstallation mit der aktuellen Variante per npx nachdenken. Das kannst du risikolos parallel zu deinem aktuellen ioBroker machen und testen. Du musst lediglich die aktuelle Installation stoppen, sofern sie die Standart-Ports benutzt. Dass du Node.js jetzt per Installer in dein aktuelles ioBroker verzeichnis kopiert hast, macht die Sache allerdings leider nicht unbedingt einfacher. Falls du das angehen willst, sag Bescheid.
-
@gaspode
Ok, danke, das überleg ich mir.
Aber wäre dann auch ein kompletter Import möglich, ohne jetzt die einzelnen Adapter zu sichern?
Weil da hängt so wahnsinnig viel dran, dass ich das wenn dann nur mit einem kompletten Import versuchen würde
Ist aber eh die Frage was mir das für einen Vorteil bringt, momentan bin ich ja wieder auf aktuellen Stand und hoffe das auch weiterhin die Updates gut möglich sind.