NEWS
ioBroker unter Windows installieren (ohne Installer)
-
@dekat-win Ich bin ehrlich ... Bei Windows halte ich mich lieber zurück weil ich zu wenig weiss.
ABER, folgende Befehle sind "Böse": npm audit fix --force !!! Nicht machen bitte
... und alles mit --force kann auch alle und keine (negativen) Effekte haben
-
@dekat-win Auch wenn der Installer derzeit leider nicht mehr gepflegt wird, hat er auch und gerade bei den Updates große Vorteile.
Man kann bei einem Update mit Hilfe des Installers eine neue Serverinstanz anlegen und diese dann risikolos updaten. Falls das Update nicht funktionieren sollte, geht man wieder auf die alte Instanz zurück. Man kann unter "Dienste" die gewünschte Serverinstanz aktiv stellen und die nicht gewünschte deaktivieren.
@sigi234 hat ein PDF zum Update erstellt, welches im generellen Update-Artikel https://forum.iobroker.net/post/658897 verlinkt ist.
Die funktioniert und beschreibt auch die Handhabung der Serverinstanzen.
Und man muß nicht immer ganz vorne beim Updaten mit dabei sein. Und gerade das Update auf 3.3.22 bringt leider einige Einschränkungen und lageinträge durch schärfere Regeln und Überwachungen mit. -
@klassisch glaub mir ich habe sehr sehr oft das ganze per Installer neu aufgesetzt so oft das ich es nicht mehr aufzählen kann, bis ich wie gesagt die Schnauze voll hatte und mit force alles selbst überschrieben hab.
Ich kann nur Vermutungen aufstellen wahrscheinlich wurde durch den vorherigen manuellen installier Versuch irgendwo etwas durcheinander gebracht, oder es lag an was anderem aber Fakt ohne force und nur mit dem installer und der pdf Anleitung bin ich nicht weiter gekommen.
Das der audit fix Befehl schlecht sein soll kann ich nicht ganz nachvollziehen, im Grunde ist das nur ein npm Fix skript. Wem das zu gefährlich ist, der kann auch nur audit eingeben und jeden Fehler einzeln nachgehen, sicher sind da einige Sachen dabei die gar nicht gefixed werden müssen da habt ihr recht.
An sich ist Force natürlich nur das letze Mittel aber vor allen unter Windows bei einer neue aufgesetzten Windows Instanz ist das ziemlich ungefährlich, wenn was zerschossen wird kann man einfach eine neue Instanz aufsetzen und von vorne anfangen und ich denke viele Probleme enstehen bei Windows aufgrund von fehlender Berechtigungen beim schreiben das Problem wird mit -force unter Admin gelöst.
Aber nochmal deutlich man sollte unter keinen Umständen auf einem Linux System derartig vorgehen, da gebe ich euch recht und man sollte das nur bei Windows Instanzen nutzen zu dem man vollständige Backups separat abgespeichert hat. (Das bedeutet Manuell aus dem io-Broker Backup Ordner gezogen)
Aber Windows abschießen kann man dadurch nicht und alles einfach per Installer deinstallieren und neu installieren kann man auch immer, also nicht gefährlich für Windows Nutzer.
-
@dekat-win said in ioBroker unter Windows installieren (ohne Installer):
Jedenfalls hab ich 3 Dinge gelernt die beim Update einer neu aufgesetzten Windows Installer Version helfen,
- Der JS-Controller muss zuerst sein upgrade bekommen, noch unter node 10!
-iobroker console als admin Ausführen und folgendes eingeben:
iobroker stop
iobroker update
iobroker upgrade self
iobroker stop
Nein, das ist schon das erste Problem. Wegen eines Bugs in der im Installer enthaltenen Controller Version, darf das erste Update des Controllers eben NICHT so durchgeführt werden.
Weiter oben hat @klassisch schon den anderen Weg gepostet:- iobroker stop
- npm i iobroker.js-controller@stable
--ignore-scripts - iobroker start
Das --ignore-scripts scheint aber (inzwischen?) eher kontraproduktiv zu sein.
- Der JS-Controller muss zuerst sein upgrade bekommen, noch unter node 10!
-
@alexi sagte in ioBroker unter Windows installieren (ohne Installer):
Das --ignore-scripts scheint aber (inzwischen?) eher kontraproduktiv zu sein.
In @sigi234 's Anleitung ist es noch drin. Ich habe es so gemacht und bei mir scheint jetzt alles zu laufen.
Mehr Fehlermeldungen im Log, Weniger Freiheiten bei den Objekten, aber das bringt der neue Controller so mit - unabhängig von der Plattform. -
@klassisch said in ioBroker unter Windows installieren (ohne Installer):
Anleitung ist es noch drin
apollon77 hatte bezüglich des Parameters mal Bedenken geäußert. Die Hintergründe kenne ich allerdings nicht.
-
@alexi in meinem fall war nach dem node update iobroker in der Konsole nicht mehr erreichbar, deswegen auch kein js controller update mehr möglich.
-
@dekat-win said in ioBroker unter Windows installieren (ohne Installer):
@alexi in meinem fall war nach dem node update iobroker in der Konsole nicht mehr erreichbar, deswegen auch kein js controller update mehr möglich.
Ich bezog mich auf Punkt 1 in deinem Post weiter oben.
Da schreibst du, dass man nach dem Installieren per Installer als erstes den Controller updaten soll mit@dekat-win said in ioBroker unter Windows installieren (ohne Installer):
iobroker stop
iobroker update
iobroker upgrade self
iobroker stopUnd das führt dazu, dass du die ioBroker Instanz zerschießt. Grund ist ein fehlerhafter Controller, der mit der aktuell verfügbaren Installer-Version installiert wird. Wenn ich mich richtig erinnere, war @AlCalzone damals so nett sich die Sache anzuschauen und hat dann den weiter oben beschriebenen Workaround beschrieben:
@klassisch said in ioBroker unter Windows installieren (ohne Installer):
iobroker stop
npm i iobroker.js-controller@stable --ignore-scripts
data-Ordner wieder rein kopieren
iobroker start
Edit: @Stabilostick empfiehlt --ignore-scriptsWenn du das nicht so machst, startest du gleich mit einer defekten Instanz, selbst wenn das in manchen Fällen nicht sofort auffällt.
-
Kann mal einer von Euch eine neue funktionierende Doku erstellen wie es denn nun aktuell
fehlerfrei funktioniert ?
-
@klassisch sagte in ioBroker unter Windows installieren (ohne Installer):
In @sigi234 's Anleitung ist es noch drin. Ich habe es so gemacht und bei mir scheint jetzt alles zu laufen.
Also Sigis Anleitung mit dem Installer nutzen, Bei großen Updates eine neue Serverinstanz anlegen, damit man notfalls auf die bisherige Instanz zurückkommt.
-
@alexi ok hab das ausprobiert du hast recht, es ist genau so wie du beschrieben hattest, der controller wurde zerschossen wenn man es normal macht, was bei mir zum force überschreiben geführt hat um den zerschossenen controller zu fixen.
Das trifft aber nur auf frisch Aufgesetzte Windows Installer Instanzen zu, richtig?
@klassisch said in ioBroker unter Windows installieren (ohne Installer):
@dekat-win
Habe mir für das Controller-Update vorgenommen mit dem Installer eine neue Installation aufzusetzen und dann über den Dienstemanager den alten Dienst zu deaktivieren und den neuen Dienst zu etablieren<<
Beim großen Controller-Update habe ich mir dazu notiert:AlCalzone
Fürs Update würde ich folgendes Vorgehen vorschlagen, könnt ihr das bitte testen?
- data-Ordner sichern
- Frische Installation mit dem alten Installer aufsetzen
- Nichts weiter tun!
- ioBroker-Konsole der neuen Installation auf:
- iobroker stop
- npm i iobroker.js-controller@stable --ignore-scripts
- data-Ordner wieder rein kopieren
- iobroker start
Edit: @Stabilostick empfiehlt --ignore-scripts
Aus https://forum.iobroker.net/topic/33421/iobroker-unter-windows-installieren-ohne-installer/126
So würde ich es wieder angehen. Wenn dann was schief geht, würde ich einfach wieder per Diensteeinstellung zurück gehen.
-
@dekat-win Ich habe es mittlerweile mit einer neuen Instanz upgedatet. Nach dem oben verlinkten PDF von sigi, der das alles geordnet und zusammengefasst hat.. Und es hat funktioniert.
Man macht ein Backup der ioBroker Ordners, setzt eine neue Instanz mit einem neuen Namen auf, kopiert dann aber rechtzeitig das Backup drüber.
Dann updaten. Also einfach sigis PDF folgen.
Danach noch die Dienste "Umschalten", was sigi nicht beschrieben hat. Aber das ist ja reines Windows-Hantieren. -
@dekat-win said in ioBroker unter Windows installieren (ohne Installer):
Das trifft aber nur auf frisch Aufgesetzte Windows Installer Instanzen zu, richtig?
@klassisch hat es ja schon geschrieben, aber auch von mir nochmal die Bestätigung:
Ich hab den Controller damals nach Neuinstallation einmalig mit "npm i iobroker.js-controller@stable" aktualisiert und seitdem aktualisiere ich den Controller dieser Instanz "normal" mit "iobroker upgrade self", ohne dass Probleme aufgetreten wären. -
Ich brauch mal eure Hilfe. Über Weihnachten habe ich mich in ioBroker reingefuchst (bin eher Laie).
Mit den hier beschriebenen Workarounds habe ich mein System auf folgenden Stand gebracht:
PLATTFORM: WINDOWS
RAM: 3.5 GB
NODE.JS: V14.18.2
NPM: 6.14.15Eigentlich lief auch alles ganz gut. Seit ein paar Wochen habe ich aber das Problem das der History Adapter beim öffnen von historisierten Datenpunkten mit folgender Fehlermeldung abstürzt:
react-dom.production.min.js:216 TypeError: o.getHours is not a function
at new s (:8101/static/js/15.604fadf3.chunk.js:1:54837)
at zc (5.041e7077.chunk.js:2:5611029)
at Uo (5.041e7077.chunk.js:2:5630495)
at Zi (5.041e7077.chunk.js:2:5674028)
at jl (5.041e7077.chunk.js:2:5660196)
at Sl (5.041e7077.chunk.js:2:5660124)
at Cl (5.041e7077.chunk.js:2:5659987)
at zl (5.041e7077.chunk.js:2:5656953)
at 5.041e7077.chunk.js:2:5606447
at t.unstable_runWithPriority (5.041e7077.chunk.js:2:5689657)Beim Installieren von neuen Adaptern gibt es wohl ein Problem mit Python:
$ iobroker add alias-manager auto --host tom(Leonberg)
NPM version: 6.14.15
npm install iobroker.alias-manager@1.2.4 --loglevel error (System call)
gyp ERR! find Python
gyp ERR! find Python Python is not set from command line or npm configuration gyp ERR! find Python Python is not set from environment variable PYTHON gyp ERR! find Python checking if "python" can be used gyp ERR! find Python - "python" is not in PATH or produced an error gyp ERR! find Python checking if "python2" can be used gyp ERR! find Python - "python2" is not in PATH or produced an error gyp ERR! find Python checking if "python3" can be used gyp ERR! find Python - "python3" is not in PATH or produced an error gyp ERR! find Python checking if the py launcher can be used to find Python 2 gyp ERR! find Python - "py.exe" is not in PATH or produced an error gyp ERR! find Python checking if Python is C:\Python27\python.exe gyp ERR! find Python - "C:\Python27\python.exe" could not be run gyp ERR! find Python checking if Python is C:\Python37\python.exe gyp ERR! find Python - "C:\Python37\python.exe" could not be run gyp ERR! find Python gyp ERR! find Python ********************************************************** gyp ERR! find Python You need to install the latest version of Python. gyp ERR! find Python Node-gyp should be able to find and use Python. If not, gyp ERR! find Python you can try one of the following options: gyp ERR! find Python - Use the switch --python="C:\Path\To\python.exe" gyp ERR! find Python (accepted by both node-gyp and npm) gyp ERR! find Python - Set the environment variable PYTHON gyp ERR! find Python - Set the npm configuration variable python: gyp ERR! find Python npm config set python "C:\Path\To\python.exe" gyp ERR! find Python For more information consult the documentation at: gyp ERR! find Python https://github.com/nodejs/node-gyp#installation gyp ERR! find Python **********************************************************
gyp ERR! find Python gyp ERR! configure error gyp ERR! stack Error: Could not find any Python installation to use gyp ERR! stack at PythonFinder.fail (C:\Program Files\iobroker\Leonberg\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47)
gyp ERR! stack at PythonFinder.runChecks (C:\Program Files\iobroker\Leonberg\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21) gyp ERR! stack at PythonFinder.<anonymous> (C:\Program Files\iobroker\Leonberg\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16) gyp ERR! stack at PythonFinder.execFileCallback (C:\Program Files\iobroker\Leonberg\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16) gyp ERR! stack at exithandler (child_process.js:390:5) gyp ERR! stack at ChildProcess.errorhandler (child_process.js:402:5) gyp ERR! stack at ChildProcess.emit (events.js:400:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:280:12) gyp ERR! stack at onErrorNT (internal/child_process.js:469:16) gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:82:21) gyp ERR! System Windows_NT 10.0.19043 gyp ERR! command "C:\Program Files\iobroker\Leonberg\nodejs\node.exe" "C:\Program Files\iobroker\Leonberg\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"gyp ERR! cwd C:\Program Files\iobroker\Leonberg\node_modules\serialport gyp ERR! node -v v14.18.2 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok
Ich bin über jeden Hinweis dankbar
Thomas
-
@tomz sagte in ioBroker unter Windows installieren (ohne Installer):
Error: Could not find any Python installation to use gyp
Da muss offenbar Python installiert werden.
-
@tomz Admin aktualisieren für den Fehler bei "history". Da war ein Bug drin
-
Ah cool jetzt hat das Upgrade des Admin funktioniert super jetzt hab ich schon mal meine Historie wieder.
Phyton ist auf meinem System in der ioBroker instanz in einem Ordner Phyton27.
Muss ich das noch mal über die Konsole einbinden?Vielen Dank für die schnelle Hilfe
-
@tomz sagte in ioBroker unter Windows installieren (ohne Installer):
Phyton27
Das dürfte zu alt sein. Python ist bei Version 3.x mittlerweile.
-
ah ok und wie upgrade ich das so das es ioBroker dann auch richtig erkennt
-
Ich kenn mich mit Windows so gar nicht aus. Muss dir wohl wer anders verraten.