NEWS
Update js-controller 1.5.14 auf 2.2.9 schlägt fehl
-
Ich glaube, nodejs war auf Version 12 aktualisiert worden. Ich werde heute abend mal kucken, wie ich das auf Version 10 bekomme.
-
@hauwech sagte in Update js-controller 1.5.14 auf 2.2.9 schlägt fehl:
node.js 6.17.1
npm 2.15.12Hier schreibst du etwas anderes.
Den Node upgrade musst du manuell gemacht haben.
Siehe hier:
-
Das war wohl etwas unklar. Der angegebene Versionsstand ist der ursprüngliche. Die beschriebenen Aktualisierungen hatte ich gemacht, danach lief gar nix mehr. Zum Schluß habe ich den Snapshot der VM zurückgespielt, um wieder auf den alten Stand mit funktionierendem aber veralteten iobroker zu kommen.
Indessen habe ich nodejs auf V.10.19.0 gebracht.
Jetzt werde ich noch npm aktualisieren, danach versuche ich erneut, js-controller auf 2.2.9 zu bringen.Gruß Roland
-
@hauwech sagte:
Jetzt werde ich noch npm aktualisieren
Wurde npm nicht zusammen mit Node.js 10.19.0 aktualisiert ?
-
Nein, npm bleibt auf Version 2.15.12.
Wenn ich aber
npm cache clean -f npm update npm -g npm install -g n n stable
mache, wie hier beschrieben: https://forum.iobroker.net/topic/1422/update-npm-und-node-js
wird npm auf 6.x aktualisiert, aber nodejs wird auch auf Version 12.x aktualisiert.
Wie kriege ich denn npm und nodejs auf einen funktionierenden Versionsstand?Gruß Roland
-
@hauwech sagte :
npm install -g n
n stableHättest Du die beiden Kommandos weggelassen, wäre Node.js wahrscheinlich auf Version 10.19.0 geblieben. Gib mal ein:
n 10.19.0
-
Bis jetzt habe ich
su - root cd /opt/iobroker iobroker stop curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs
Bis dahin startet iobroker noch.
Dann habe ich wie hier: https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten empfohleniobroker stop curl -sL https://iobroker.net/fix.sh | bash -
gemacht. Nun startet iobroker nicht mehr.
Ich setze jetzt die VM zurück und beginne zum zehnten Mal vor vorne. Das ist ber ein elender Krampf....Gruß Roland
-
Jetzt scheint's zu laufen Ich habe jetzt nur "npm cache clean -f" und "npm update npm -g" gemacht. Vielen Dank für die Hinweise.
Falls es noch jemanden trifft, fasse ich nochmal alles zusammen:su - root cd /opt/iobroker iobroker stop curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - apt-get install -y nodejs **NICHT MACHEN!**: curl -sL https://iobroker.net/fix.sh | bash - iobroker start node -v *10.19.0* npm -v *2.15.12* iobroker stop npm cache clean -f npm update npm -g npm -v *6.13.7* node -v *v10.19.0* --- snapshot VM --------- immer noch root und in /opt/iobroker iobroker stop iobroker update iobroker upgrade self iobroker start
Damit läuft's jetzt, ist aktuell und auch die Adapter lassen sich aktualisieren.
Vielen Dank für Eure Hilfe.
Gruß Roland -
Hallo!
Vorab: Ich habe meine iobroker Installation vor etwa 3-3,5 Jahren durchgeführt, eine VIS erstellt und seitdem nur noch ab und zu ein paar Updates gemacht. Will sagen: Ich kenne mich nicht wirklich aus.
Ich stehe nun genau vor dem gleichen Problem, also dass das Update von 1.5.14 auf 2.2.9 fehlschlägt.
Insofern war ich sehr dankbar für diese tolle Anleitung. Leider funktioniert sie für mich an zwei Stellen nicht.- Ich habe anscheinend schon eine npm Version 6.11.3 installiert.
Beim npm Update passiert das hier:
root@ioBroker-Pi:/opt/iobroker# npm cache clean -f npm WARN using --force I sure hope you know what you are doing. ╭────────────────────────────────────────────────────────────────╮ │ │ │ New minor version of npm available! 6.11.3 → 6.14.1 │ │ Changelog: https://github.com/npm/cli/releases/tag/v6.14.1 │ │ Run npm install -g npm to update! │ │ │ ╰────────────────────────────────────────────────────────────────╯ root@ioBroker-Pi:/opt/iobroker# npm update npm -g npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/bin-links npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/chownr npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/deep-extend npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/env-paths npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/get-caller-file npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/glob npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/hosted-git-info npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/invert-kv npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/is-ci npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/is-retry-allowed npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/lcid npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/mimic-fn npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/minimist npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/mkdirp npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/nopt npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules/semver npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/npm-packlist npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/npm-registry-fetch npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/npm-profile npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/mem npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/os-locale npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/rc/node_modules/minimist npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/rc npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/registry-auth-token npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/rimraf npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/node-gyp npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/pacote npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/string_decoder npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/widest-line npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/yargs npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/libnpx npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/readable-stream npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/node-gyp/node_modules npm WARN checkPermissions Missing write access to /usr/lib/node_modules/npm/node_modules/rc/node_modules npm WARN checkPermissions Missing write access to /usr/lib/node_modules npm ERR! code EACCES npm ERR! syscall access npm ERR! path /usr/lib/node_modules/npm/node_modules/bin-links npm ERR! errno -13 npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules/npm/node_modules/bin-links' npm ERR! { [Error: EACCES: permission denied, access '/usr/lib/node_modules/npm/node_modules/bin-links'] npm ERR! stack: npm ERR! 'Error: EACCES: permission denied, access \'/usr/lib/node_modules/npm/node_modules/bin-links\'', npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'access', npm ERR! path: '/usr/lib/node_modules/npm/node_modules/bin-links' } npm ERR! npm ERR! The operation was rejected by your operating system. npm ERR! It is likely you do not have the permissions to access this file as the current user npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check the npm ERR! permissions of the file and its containing directories, or try running npm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2020-04-06T10_56_40_179Z-debug.log
- Dann dachte ich....ach egal, 6.11.3 liegt ja recht nahe an den hier genannten 6.13.7, also weiter im Text....aber beim "iobroker upgrade self" passiert das hier:
root@ioBroker-Pi:/opt/iobroker# iobroker upgrade self Update js-controller from @1.5.14 to @2.2.9 NPM version: 6.13.4 npm install iobroker.js-controller@2.2.9 --unsafe-perm --production --save --prefix "/opt/iobroker" (System call) npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@^1.0.4 (node_modules/iobroker.info/node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.5: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/npm/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/npm/node_modules/node-gyp/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/npm/node_modules/request/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/npm/node_modules/request/node_modules/http-signature/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rc/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/package.json' npm ERR! code EEXIST npm ERR! path /opt/iobroker/node_modules/.bin/iobroker npm ERR! Refusing to delete /opt/iobroker/node_modules/.bin/iobroker: is outside /opt/iobroker/node_modules/iobroker.js-controller and not a link npm ERR! File exists: /opt/iobroker/node_modules/.bin/iobroker npm ERR! Remove the existing file and try again, or run npm npm ERR! with --force to overwrite files recklessly. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2020-04-06T11_03_26_164Z-debug.log Host "ioBroker-Pi" (linux) updated Execute: chmod -R 777 /opt/iobroker Chmod finished. Restart controller Starting node restart.js root@ioBroker-Pi:/opt/iobroker#
Nach Reboot ist die Version immer noch bei 1.5.14 und ich habe überhaupt keine Idee, was ich machen muss.
Vielleicht hat jemand einen Tipp für mich? Ich wäre sehr dankbar!Viele Grüße,
Christian - Ich habe anscheinend schon eine npm Version 6.11.3 installiert.
-
Als erstes zur Sicherheit ein Backup.
Dann den Fixxer laufen lassen bei so einer alten Installation und dann erneut das Upgrade probieren.
Wäre meine vorgehensweise.
-
Danke!
Hab´s ausgeführt:
root@ioBroker-Pi:/opt/iobroker# curl -sL https://iobroker.net/fix.sh | bash - library: loaded Library version=2020-01-30 ========================================================================== Welcome to the ioBroker installation fixer! Script version: 2020-01-25 ========================================================================== ========================================================================== Installing prerequisites (1/3) ========================================================================== OK:1 http://archive.raspberrypi.org/debian stretch InRelease Holen:2 http://mirrordirector.raspbian.org/raspbian stretch InRelease [15,0 kB] OK:3 https://deb.nodesource.com/node_10.x stretch InRelease Es wurden 15,0 kB in 3 s geholt (4.608 B/s). Paketlisten werden gelesen... Fertig Installed gcc-c++ ========================================================================== Checking ioBroker user and directory permissions (2/3) ========================================================================== Created /etc/sudoers.d/iobroker Fixing directory permissions... ========================================================================== Checking autostart (3/3) ========================================================================== Enabling autostart... Autostart enabled! ========================================================================== Your installation was fixed successfully Run iobroker start to start ioBroker again! ==========================================================================
Aber das Upgrade klappt trotzdem nicht:
root@ioBroker-Pi:/opt/iobroker# iobroker upgrade self Update js-controller from @1.5.14 to @2.2.9 NPM version: 6.13.4 npm install iobroker.js-controller@2.2.9 --unsafe-perm --production --save --prefix "/opt/iobroker" (System call) npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@^1.0.4 (node_modules/iobroker.info/node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.5: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/npm/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/npm/node_modules/node-gyp/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/npm/node_modules/request/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/npm/node_modules/request/node_modules/http-signature/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rc/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/package.json' npm ERR! code EEXIST npm ERR! path /opt/iobroker/node_modules/.bin/iobroker npm ERR! Refusing to delete /opt/iobroker/node_modules/.bin/iobroker: is outside /opt/iobroker/node_modules/iobroker.js-controller and not a link npm ERR! File exists: /opt/iobroker/node_modules/.bin/iobroker npm ERR! Remove the existing file and try again, or run npm npm ERR! with --force to overwrite files recklessly. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2020-04-06T12_19_22_412Z-debug.log Host "ioBroker-Pi" (linux) updated Execute: chmod -R 777 /opt/iobroker Chmod finished. Restart controller Starting node restart.js
-
@ChristianS sagte in Update js-controller 1.5.14 auf 2.2.9 schlägt fehl:
/home/iobroker/.npm/_logs/2020-04-06T12_19_22_412Z-debug.log
Was steht hier drin?
Was kommt bei
iobroker -v
Meine mich erinnern zu können das es mal einen Sprung gab den man mit einem Upgrade nicht mehr machen konnte wenn der Versions Unterschied zu groß geworden ist. War aber im alten Forum glaube ich und ob ich das nochmal finde glaube ich nicht.
Sonst mach ein Backup und installiere ioBroker neu und spiele das Backup ein. Wenn du hast nutze dazu eine andere SD Karte dann hast du zur not das alte System schnelle wieder verfügbar,
-
@ChristianS
Erstmal musste vermutlich auf Version 2 updaten.
Installation steht hier:https://forum.iobroker.net/topic/25692/js-controller-2-0-ab-sofort-im-latest-repo
dann geht es weiter auf die nächsten JS Controller Versionen:
Nötige Adapter-Aktualisierungen
Die folgenden Adapter müssen auf die genannten Minimalversionsnummern aktualisiert werden, da diese sonst nicht mit dem js-controller 2.2 funktionieren. Diese Updates am besten vorher ausführen, weil alle genannten Versionen auch mit den alten js-controller Versionen funktionieren.
admin 3.7.8 oder höher! Sonst können Custom-Objektdaten - das unter dem Schraubenschlüssel - nicht mehr deaktiviert werden!
iqontrol 0.2.15 (die Version ist primär nötig wenn man Admin 3.7.7+ mit einem js-controller < 2.2 nutzt! siehe https://github.com/sbormann/ioBroker.iqontrol/issues/104)
Falls Ihr noch keinen js-controller 2.x habt kann die Admin-Abhängigkeit oben interessant werden, da bereits Admin 3.7.8 einen controller 2.0+ braucht. Hier am besten den Controller wie unten beschrieben aktualisieren und VOR dem start des iobroker den Admin Adapter per Kommandozeile (iobroker upgrade admin) updaten.Wichtig ist aber die Nodejs Version vor allem anderen auf 10.19 upzudaten:
cd /opt/iobroker
iobroker stop
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
apt-get install -y nodejs
-
Danke für die Hinweise.
Nach ein paar erfolglosen Versuchen habe ich mich für die Variante "Backup, Neuinstallation, Restore" von @wendy2702 entschieden.
Hat soweit funktioniert. Bin nun auf 2.2.9 und alle Adapter sind up to date.Aus irgendeinem Grund fehlen in meiner VIS nun einzelne Elemente, z.B. das Menü.
Aber das bekomme ich auch noch hin. Zur Not fahre ich das alte System nochmal hoch und exportiere die VIS da....müsste doch hoffentlich funktionieren.Danke nochmal und einen schönen Abend!
-
Sind denn alle Adapter schon installiert und auch aktiv die auf dem alten System liefen?