NEWS
Uralt System updaten oder Umzug
-
Ich will mich da nicht allzusehr einmischen ABER
Ich würde einfach versuchen die neue Kiste mit aktuellem O/S und node 20 aufzusetzen. Dort js-controller5 5.0.19 (!) zu installieren und dann das Backup versuchen einzuspielen. Wenn das geht kann man dann weiter aktualisieren. Wenn nicht schau mal mal welche Fehelr gemelset werden, -
@mr-x sagte in Uralt System updaten oder Umzug:
ich gelobe zukünftig mehrmals im Jahr alles upzugraden.......
vllt hilft dir https://github.com/BassT23/Proxmox
damit vergisst du kein update... -
@mcm1957 sagte in Uralt System updaten oder Umzug:
Ich will mich da nicht allzusehr einmischen ABER
Ich würde einfach versuchen die neue Kiste mit aktuellem O/S und node 20 aufzusetzen. Dort js-controller5 5.0.19 (!) zu installieren und dann das Backup versuchen einzuspielen. Wenn das geht kann man dann weiter aktualisieren. Wenn nicht schau mal mal welche Fehelr gemelset werden,Habe unter Proxmox ein frisches neues System laufen mit node 20 und JS 7.0.6.
Warum schreibst du, dass dort 5.0.19 drauf soll. -
@mr-x sagte in Uralt System updaten oder Umzug:
Warum schreibst du, dass dort 5.0.19 drauf soll.
Damit das Versionsdelta nicht so groß ist.
-
@oliverio sagte in Uralt System updaten oder Umzug:
Dann hilft eigentlich nur noch, alle Verzeichnisse unter /opt/iobroker auf eine Festplatte zu kopieren
Den neuen Rechner, mit aktuellem Betriebssystem und Node 22 vorzubereiten.
Dann das ganze Verzeichnis an gleicher Stelle wieder zu kopieren und dann die Upgrade Bemühungen dort fortzusetzen.Wenn du weitere Dienste wie beispielsweise redis, influx, MySQL, grafana etc nutzt musst du die Daten dort separat sichern.
Am besten das als System zur Sicherheit noch aufbewahren, falls man erst später merkt, dass man was vergesseHabe unter Proxmox ein frisches neues System laufen mit node 20 und JS 7.0.6.
soll ich dann ALLE Ordner und files unter /opt/iobroker überschreiben?
Sind dann alle Daten ersteinmal übernommen? die von dir genannten zusatzdineste nutze ich nicht. -
@mcm1957 sagte in Uralt System updaten oder Umzug:
Ich will mich da nicht allzusehr einmischen ABER
Ich würde einfach versuchen die neue Kiste mit aktuellem O/S und node 20 aufzusetzen. Dort js-controller5 5.0.19 (!) zu installieren und dann das Backup versuchen einzuspielen. Wenn das geht kann man dann weiter aktualisieren. Wenn nicht schau mal mal welche Fehelr gemelset werden,Ich glaube er hat kein aktuelles Backup.
Node 18 hat er installieren können
Node 20 geht nicht, weil das das Betriebssystem nicht mitmacht.
Diverse Adapter haben allerdings mittlerweile die Node 20 Abhängigkeit, daher könnte er,kein komplettes Backup machen, da er Adapter deaktivieren müsste um sein aktuelles System zumindest für Backup noch lauffähig zu bekommen.
Backitup hat ja jetzt aktuell wieder Node 18 als Abhängigkeit bekommen.
Sonst wäre komplett Ende gewesen bzw. mein vorgeschlagener Weg, was aber gefrickel wäre. -
@oliverio
Warum sollte er ein Backup von js-controller 4 nicht in js-controller 5 importieren können?In den releasenotest js-controller 5 wird sogar extra drauf hingewiesen dass ein mit js-controlelr 5 erstelltes Backup NICHT unter js.controller 4installierbar ist - umgekehrt aber schon.
Also ein normales Backup seines jetzigen Systems in ein js-controller 5 (also nächste js-controller version) system zu restoren wär meine erster Ansatz.
Und nebenbei versteh ich nicht warum der ehler überhaupt auftritt:
pi@raspberrypi:/opt/iobroker $ npm install iobroker.js-controller@5.0.19 npm error code EBADENGINE npm error engine Unsupported engine npm error engine Not compatible with your version of node/npm: iobroker.jarvis@3.2.0-rc.17 npm error notsup Not compatible with your version of node/npm: iobroker.jarvis@3.2.0-rc.17 npm error notsup Required: {"node":">= 20","npm":">= 9.3.1","yarn":">= 1.21.1"} npm error notsup Actual: {"npm":"10.8.2","node":"v18.20.8"} npm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2025-05-09T07_39_00_228Z-debug-0.log
Der js.controller sollte doch keine Abhängigkeit im package.json auf jarvis haben. Und jarvis sollte keine npm (package.json) Anhängigkeit zum js-controller haben. Ergo wieso in alelr Walt brüllt da npm auf !?!?! (Dass sich ev was nicht startn läßt weil ioBroker bhängigkeiten nicht passen lass ich mir erklären - aber wraum schreit NPM da ???)
-
@mcm1957 sagte in Uralt System updaten oder Umzug:
@oliverio
Warum sollte er ein Backup von js-controller 4 nicht in js-controller 5 importieren können ?geht nicht!
wird dir auch beim erstellen des Backups gesagt.Dann muss vor dem Einspielen der vontroller auf v4 downgegradet werdrn3
-
@mr-x said in Uralt System updaten oder Umzug:
@mcm1957 sagte in Uralt System updaten oder Umzug:
Ich will mich da nicht allzusehr einmischen ABER
Ich würde einfach versuchen die neue Kiste mit aktuellem O/S und node 20 aufzusetzen. Dort js-controller5 5.0.19 (!) zu installieren und dann das Backup versuchen einzuspielen. Wenn das geht kann man dann weiter aktualisieren. Wenn nicht schau mal mal welche Fehelr gemelset werden,Habe unter Proxmox ein frisches neues System laufen mit node 20 und JS 7.0.6.
Warum schreibst du, dass dort 5.0.19 drauf soll.Beim Aktualisieren sollten man immer nur eine js-cotnroller version updaten. Der aktuelle js-controlelr code würde (in zukunft) bei einem upgrade self auch nur x-mal eine Major aktualisieren.
Ich schreib js-controlelr 5 drauf da das restore eines 4er Backups unetr 5 deutlich sicherer funktionieren sollte als unter js-controller 7.
-
@homoran said in Uralt System updaten oder Umzug:
@mcm1957 sagte in Uralt System updaten oder Umzug:
@oliverio
Warum sollte er ein Backup von js-controller 4 nicht in js-controller 5 importieren können ?geht nicht!
wird dir auch beim erstellen des Backups gesagt.Dann muss vor dem Einspielen der vontroller auf v4 downgegradet werdrn3
NEIN - das glaub ich nicht. Sorry.
Aber wenn's notweig sein sollte, dann halt js-controller 4 installieren ...EDIT:
Ich kenn nur die folgende Meldung im backit up:The current version of js-controller differs from the version in the backup. The js-controller version of the backup can not be restored automatically. To restore the js-controller version of the backup, execute "npm i iobroker.js-controller@x.y.z --production" inside your ioBroker directory If you really want to restore the backup with the current installed js-controller, execute the restore command with the --force flag
Die schlägt zwar vor js-controller downzugraden ist aber nicht zwingend.
-
Das mit den Abhängigkeiten versuchte ich gestern im discord zu erklären. Aber man hat mich wohl nicht so richtig verstanden.
Irgendwas prüft gegen die aktuellen Abhängigkeiten und nicht gegen die Abhängigkeiten im jeweiligen versions package. -
@oliverio said in Uralt System updaten oder Umzug:
Das mit den Abhängigkeiten versuchte ich gestern im discord zu erklären. Aber man hat mich wohl nicht so richtig verstanden.
Nochmal:
Warum sollte npm bei der Installation des js-controllers überhaupt irgendeine Abhängigkeit eines Adapters prüfen. Das sind völlig unabhängige npm Pakete würd ich mal sagen. Im package.json des js-controllers kann doch nie eine Abhhängigkeit zu einem Adapter stehen ... -
Ich meine, npm ackert bei jedem Aufruf die kompletten Abhängigkeiten durch und spuckt dann Meldungen auch zu Aktionen aus, die gerade gar nicht anstehen.
Macht der Paketmanager apt z. B. auch nicht anders. Dient dazu, die Abhängigkeiten sauber zu halten.
-
@mcm1957
Die Frage ist ja sicherlich nur rethorisch an mich gestellt?Ich kann mir auch nicht vorstellen das das npm verursacht.
Aber woher soll in diesem System mit dem aktuellen Setting irgendwas von Node 20 wissen. Warum nicht Node 22. also irgendwo muss es herkommen.Aber wissen tu ich es nicht.
-
@thomas-braun said in Uralt System updaten oder Umzug:
Ich meine, npm ackert bei jedem Aufruf die kompletten Abhängigkeiten durch und spuckt dann Meldungen auch zu Aktionen aus, die gerade gar nicht anstehen.
Ja - aber doch nur die Abhängigkeiten des zu installierenden Pakets. Und eben da endet mein Verständnis.
Wenn ioBroker.Shelly einen Fehler meldet weil axios nicht passt ist das ja ok. axios ist ja (in dem Fall sogar direkt) eine depoendency von ioBroker.shelly.
Aber ioBroker.lovelace ist auch sicht der npm Struktur völlig unabhängig vom paket js-controller. Weder js.controller sollte im package.json von lovelace srinnen stehen noch umgekehrt. Also warum schaut sich npm überhaupt lovelace an wenn es js.controller installieren soll ...
-
@oliverio said in Uralt System updaten oder Umzug:
Ich kann mir auch nicht vorstellen das das npm verursacht.
Aber woher soll in diesem System mit dem aktuellen Setting irgendwas von Node 20 wissen. Warum nicht Node 22. also irgendwo muss es herkommen.Die Fehlermeldung `npm error code EBADENGINE``ist eine Fehlermeldung die npm ausspuckt. Da spielt ioBroker nicht mit. Node 20 kommt aus lovelace, das ist ja ok. Aber warum npm lovelace überhaupt anssieht ist mir völlig unklar.
-
@mcm1957 sagte in Uralt System updaten oder Umzug:
Ja - aber doch nur die Abhängigkeiten des zu installierenden Pakets.
Nein, auch unbediente Abhängigkeiten von vorherigen Installationsversuchen tauchen da wieder auf.
Edit:
Ein ähnliches Verhalten hast du auch, wenn Module nicht gebaut werden können. Die Meldungen tauchen dann auch bei anderen npm-Vorgängen wieder auf. Solange bis das Problem behoben wurde oder das Paket rausgekickt wurde. -
@thomas-braun
Ich denke npm install schaut sich die ganze Package-lock an und versucht dann alle Abhängigkeiten neu aufzulösen um das zusätzliche Paket mit einzufügen. -
@oliverio said in Uralt System updaten oder Umzug:
@thomas-braun
Ich denke npm install schaut sich die ganze Package-lock an und versucht dann alle Abhängigkeiten neu aufzulösen um das zusätzliche Paket mit einzufügen.Und warum sollte im package-lock des js-controllers jemals was von lovelace drinnen stehen?
-
@oliverio sagte in Uralt System updaten oder Umzug:
Ich denke npm install schaut sich die ganze Package-lock an und versucht dann alle Abhängigkeiten neu aufzulösen um das zusätzliche Paket mit einzufügen.
Ja, das dürfte die zugrundeliegende Strategie von npm sein. Das ganze Konstrukt soll ja konsistent sein.