NEWS
Test ioBroker unter Windows installieren - 2022 Edition
-
@klassisch sagte in Test ioBroker unter Windows installieren - 2022 Edition:
Vielleicht hilft es ein Stück weiter.
Nicht wirklich.
Egal wie ich es drehe und wende: Ob mit Installer oder "von Hand" (npx @iobroker/install
), es wird nur halb installiert.
Bei der Installation "von Hand" erhalte ich zumindest mal weitere Informationen - auch wenn die mich persönlich nicht wirklich weiterbringen.2885 info run diskusage@1.1.3 install { code: 0, signal: null } 2886 timing build:run:install:node_modules/diskusage Completed in 10838ms 2887 info run iobroker.js-controller@4.0.23 install { code: 22, signal: null } 2888 timing reify:rollback:createSparse Completed in 2480ms 2889 timing reify:rollback:retireShallow Completed in 0ms 2890 timing command:install Completed in 57523ms 2891 verbose stack Error: command failed 2891 verbose stack at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\promise-spawn\lib\index.js:63:27) 2891 verbose stack at ChildProcess.emit (node:events:513:28) 2891 verbose stack at maybeClose (node:internal/child_process:1100:16) 2891 verbose stack at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5) 2892 verbose pkgid iobroker.js-controller@4.0.23 2893 verbose cwd C:\ioBroker 2894 verbose Windows_NT 10.0.19045 2895 verbose node v16.18.1 2896 verbose npm v8.19.2 2897 error code 22 2898 error path C:\ioBroker\node_modules\iobroker.js-controller 2899 error command failed 2900 error command C:\Windows\system32\cmd.exe /d /s /c node iobroker.js setup first 2901 error creating conf/iobroker.json 2901 error No connection to databases possible ... 2902 verbose exit 22
Zur Info: Es handelt sich hier nicht um eine frische Windows-Installation, sondern um ein laufendes Entwicklungssystem. Es sind also bereits diverse Tools aus dem Windows-SDK installiert.
Nachtrag:
Das Problem betrifft offenbar nicht den Installer selbst, sondern npm.
Irgendwas kann da nicht korrekt installiert werden.
Ich hab' nur leider von Node und seinem Package-Manager keinen blassen Schimmer -
-
@sigi234
Natürlich nicht. ioBroker wird ja gar nicht komplett installiert. -
Hier mal die Installation "von Hand".
Vielleicht hilft das ja, den Fehler zu finden der auch den Installer an der korrekten Funktion hindert: -
Hast du AnyDesk?
-
@sigi234 sagte in Test ioBroker unter Windows installieren - 2022 Edition:
Hast du AnyDesk?
Nö.
Aber auch interessant:
Kille ich die Installation kurz bevor der Fehler auftritt, bleibt das Verzeichnisnode_modules
bestehen.
Hilft allerdings nicht weiter, da offenbar noch weitere lebenswichtige Teile fehlen.
Unter anderem wird noch kein Dienst installiert. -
Hier mal meine Schritte:
Step 1 Installer runterladen und 2 mal ausführen https://iobroker.live/images/win/iobroker-installer.exe Step 2 http://localhost:8081/#tab-intro First Setup machen Step 3 Download die MSI Datei von: https://nodejs.org/dist/v16.19.0/ (node-v16.19.0-x64.msi) Step 4 MSI Datei ausführen Step 5 http://localhost:8081/#tab-intro Step 6 iobroker beenden Step 7 In die CMD gehen In das iob Verzeicnnis springen und das ausführen: npm install -g npm@8.19.3 Step 8 iobroker start iobroker exit Step 9 http://localhost:8081/#tab-intro Kontrolle ob alles Ok?
-
@sigi234
Step 1 wird ja nicht einmal zu Ende durchgeführt.@codierknecht sagte in Test ioBroker unter Windows installieren - 2022 Edition:
Zweiter Versuch:
OK, also Node wieder runtergeschmissen und den Installer erneut angeschmissen.
Beim ersten Durchlauf wird auch wieder das Verzeichnis mit den 3 Dateien erzeugt.
Nach dem zweiten (und weiteren Durchläufen) bin ich schon mal ein Stückchen weiter:Aber noch nicht wirklich am Ziel, denn hier ist Ende der Fahnenstange.
Zur Info:
Ich habe ioB bereits stabil im Container auf meinem NAS laufen. Alle tutti soweit.
Ich habe zusätzlich noch diese Windows-Kiste, die normalerweise für meine Continuous-Integration-Pipeline zuständig ist.
Da die Kiste sich fast nur langweilt, dachte ich mir, ich nutze die mal zum rumspielen.
Ist aber unter Windows nicht ganz so einfach wie gedacht. -
@codierknecht Dankwe, gebe die Details an Bluefox weiter. das muss bald finalisiert werden, dann haben wir alles
-
@codierknecht sagte in Test ioBroker unter Windows installieren - 2022 Edition:
Step 1 wird ja nicht einmal zu Ende durchgeführt.
Ja, und da liegt das Problem.
Aber @apollon77 meldet es ja @Bluefox
-
@apollon77
Liegen die Sources für den Installer eigentlich irgendwo auf GitHub? Das würde evtl. zum Verständnis beitragen und bei der Lösungsfindung helfen.Vergiss die Frage. Hab die Sources "gefunden":
https://github.com/ioBroker/ioBroker.build
und
https://github.com/ioBroker/ioBroker/tree/master/install/windows -
@Codierknecht Was für ein Windows BS hast du denn am laufen? Ich hatte die gleichen Probleme auf einem alten Win7prof. Rechner.
Die Installer Komponenten sind offensichtlich nicht mehr für ein so altes BS konzipiert, was dann dazu führt, das am Ende des Prozess nur noch die drei bekannten Installationsfragmente überig bleiben.
-
@jb_sullivan sagte in Test ioBroker unter Windows installieren - 2022 Edition:
Was für ein Windows BS hast du denn am laufen? Ich hatte die gleichen Probleme auf einem alten Win7prof. Rechner.
Windows 10 Pro
Die Installer Komponenten sind offensichtlich nicht mehr für ein so altes BS konzipiert, was dann dazu führt, das am Ende des Prozess nur noch die drei bekannten Installationsfragmente überig bleiben.
InnoSetup sollte eigentlich auch noch mit älteren Versionen funktionieren, aber testen kann ich das nicht mehr. Ich habe keine abgekündigten Versionen von Windows zur Verfügung
-
@codierknecht sagte in Test ioBroker unter Windows installieren - 2022 Edition:
Ich habe keine angekündigten Versionen von Windows zur Verfügung
in der Zukunft testen ist auch nicht ganz so einfach!
immer noch am Täblett?
-
@homoran sagte in [Test ioBroker unter Windows installieren - 2022 Edition](/post/925671
immer noch am Täblett?
Jepp - mit Autokorrektur
Hab‘s korrigiert - Danke! -
@jb_sullivan
Nachtrag:
Das Problem scheint hier auch weniger der Installer selbst, sondern eher der Paketmanager NPM zu verursachen.
Ich vermute irgendwelche Seiteneffekte mit den bereits installierten MS-Tools.@apollon77
Der „alte“ Installer funktioniert übrigens tadellos - aber dann habe ich da ein steinaltes System. Das zu aktualisieren ist dann auch alles andere als trivial.Ich lass das System jetzt erstmal so wie es ist. Wenn ihr was zum Testen braucht, meldet euch.
-
@codierknecht windows 10 sollte nicht das Problem sein. Mein Rechner hat Windows 10
Der alte installer war wirklich klasse. Aber leider sehr komplex. Alle Achtung was da ablief.
Besonders klasse war, dass man Instanzen parallel installieren konnte. Risikominimierung bei Updates. Einfach eine neue instanz angelegt. Wenn beim Update was schief gelaufen ist, einfach Instanzen umgeschaltet und mit der alten Version weiter gemacht -
@apollon77
Ich bin jetzt auch nicht unbedingt der InnoSetup-Experte.
Aber wenn ich mir das Script so ansehe, entdecke ich zwar Code der die Existenz von Node abprüfen soll - der wird aber (so wie ich das sehe) nie aufgerufen.
Ist also bereits ein Node installiert, wird es trotzdem nochmal installiert.Außerdem bin ich soeben noch den endgültigen Schritt weiter gekommen
Die Ursache für das Scheitern von npm: Bei mir lief der Continuous-Integration-Dienst und das dafür notwendige Postgres.
Nachdem ich die entsprechenden Dienste gestoppt hatte, lief die Installation übernpx @iobroker/install
problemlos durch und ioBroker läuft.Das Setup müsste demnach 2 Dinge prüfen und ggf. darauf reagieren:
1.) Ist schon ein Node.js mit einer Mindest-Versionsnummer installiert, braucht man kein weiteres zu installieren
2.) Sind die Ports (9000, 9001) bereits in Benutzung, müssen andere gewählt werden -
@apollon77
Über die Registry lässt sich ermitteln, ob (und in welcher Version) Node.js bereits installiert ist:var version: string; if RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Node.js') then begin if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Node.js', 'Version', version) then begin MsgBox('Node.js has already been installed. Version: ' + version, mbInformation, MB_OK); end; end;
Und auch ob ein bestimmter Port bereits verwendet wird, lässt sich ermitteln:
https://stackoverflow.com/questions/21701847/how-to-check-if-port-is-usable-in-inno-setupStellt sich die Frage, ob man beim Installieren von ioBroker per NPM festlegen kann, mit welchen Ports ioB zu arbeiten hat. Im Installer könnte man ja bei verwendeten Ports eine Seite zur Portauswahl zwischenschalten.
-
@codierknecht Cool ... am besten leg das bitte mal in den "Build" repo als github oissue an ... dann ists vllt einfacher. Wenn Du dich da auskennst ist Bluefox ggf auch über einen PR happy
Was ports angeht so prüft auch der Linux installer (noch) nicht ob die ports frei sind, würde es ggf nur in der Anleitung hin schreiben und dann soll man die freiräumen. Ja ports ändrn ginge ggf auch ... aber
Ansonsten ist das 8was noch für mich bekannt ist) das fehlt das man im Fehlerfall quasi die Shell ausgaben der Aktion also Textfile speichert und öffnet ... damit man einen Anhaltspunkt hat