NEWS
Update js-controller und node.js
-
Hallo wissende Gemeinde!
Ich bin relativ neu beim ioBroker und bin deshalb auch noch unsicher bei manchen Dinge wie z.B. Updates an elementaren Bausteinen.
Jetzt meint mein System, dass es ein Update vom js-controller gibt. Ich habe 2.2.8 drauf und die Version 2.2.9 wird angeboten. Bei node.js das gleiche. Installiert ist V10.19.0 und verfügbar ist V10.20.0.
Wie gehe ich bei den Updates der o.g. Baustein vor? Ich habe einiges gelesen, was mich aber nicht sicherer gemacht hat, da es allem Anschein nach verschiedene Wege gibt.
Irgendwann machte ich einfach mal ein "sudo apt-get update && sudo apt-get upgrade -y" und vieles wurde aktualisiert auch eines der beide o.g. Module. Danach lief allerdings der Info-Adapter nicht mehr. Habe dann grad mal alles neu installiert, weil sowieso noch nicht so viel installiert war.
Aber das kann ja nicht die Lösung sein. Könnt ihr mir bitte eure Vorgehensweise näher bringen, sodass ich in Zukunft mein System sicher eigenständig updaten kann?
Schon mal vielen Dank und schönen Abend noch... Josh
EDIT: Installiert auf einem RasperryPi4-4GB mit Raspbian Burster
-
-
Hallo Glasfaser!
Danke für den Tipp. Ich war zwar schon mal in diesem Thread, aber den Link oben rechts hatte ich wirklich noch nicht bemerkt. Peinlich, peinlich...
Der Updateprozess scheint mir recht umfangreich. Der Thread hat z.Zt. 354 Beiträge. Muss man die alle durch gehen, um weitere Hinweise der User mit zu bekommen? Oder wird der Eingangsthread immer auf den neusten Stand gebracht?
Außerdem scheint mir die Anleitung primär für ein Upgrade auf eine neue Hauptversion geschrieben worden zu sein?!?!! Geht das innerhalb der gleichen Hauptversion nicht irgendwie einfacher?
-
Bin beim Update von node.js auf V10.20.0 wie in der Anleitung beschrieben vorgegangen:
- Backup erstellt
- iobroker stop
- curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
- sudo apt-get install -y nodejs
- curl -sL https://iobroker.net/fix.sh | bash -
- npm rebuild
- iobroker start
Danach war die o.g. Version drauf und es lief allem Anschein nach alles.
Heute habe ich mit folgenden Befehlen auf die Version 10.20.1 ein Update gefahren:
- iobroker stop
- sudo apt-get Update && sudo apt-get upgrade -y
- iobroker start
Damit war das Update auch drauf und es läuft alles.
Die Frage, die sich mir stellt ist, ob Variante "B" nicht ausreicht, wenn man innerhalb der gleichen Hauptversion ein Update durchführt. Kann das jemand bestätigen?
Der js-controller wurde dadurch nicht einem Update unterzogen.
Ist folgende Vorgehensweise aktuell?
- iobroker stop
- iobroker update
- iobroker upgrade self
- iobroker start
Wie ich eingangs schon erwähnte, war danach mal der Info-Adapter "kaputt". Siehe hier. Deshalb bin ich jetzt eher vorsichtiger.
Gruß Josh
-
@Josh sagte in Update js-controller und node.js:
Kann das jemand bestätigen?
Ja!
Die Anleitung bezieht sich nur auf den Wechsel eines Major Releases
@Josh sagte in Update js-controller und node.js:
Ist folgende Vorgehensweise aktuell?
ebenfalls ja!
-
OK, danke für die Bestätigungen. Ich werde mich morgen nochmal daran geben.
-
Hab's gewagt und gewonnen et läuft.
Danke für alle Antworten.
Gruß Josh
-
-
sischer dat
-
@Homoran Hallo müßte auchmal updaten (Meine Devise: never change a running system). Habe noch 12 alte Adapterversionen, node.js 8.16.2 und js-Controller 1.5.14. Sollte ich hier eine Reihenfolge berücksichtigen. Sollte ich gleich alles auf Latest updaten? Oder node.js erstmal auf 10 und js-controller auf 2?
Für eine mutmachende Antwort würde ich mich freuen.
VG klausiob -
@klausiob sagte in Update js-controller und node.js:
Für eine mutmachende Antwort würde ich mich freuen.
Optimist!
Wenn du jetzt updatest würde ich direkt den großen Sprung machen, dann kannst du es wieder lange unberührt lassen (wenn es denn unbedingt sein muss)
Node.js 12!
Admin 3.x (der 4er ist auch bald soweit, hat noch ein paar Kinderkrankheiten)
js-controller 2.2.xLatest muss nicht außer wenn du einen Adapter updaten willst, der einen höheren anderen Adapter benötigt (war mal so mit javascript und admin) dann "kurz" auf latest umschalten, diesen einen Adapter updaten und alles andere auf stable lassen, dann wieder repo auf default zurück
-
@Homoran Danke. Ja eigentlich hätte ich gern den js-Controller erstmal auf 2.2.x gemacht, da einige Adapter-Updates das verlangen. Haste da mal einen Anleitungslink oder wie ich gezielt den 2.2.x update.
OK. Ging nicht update js-controller auf 2.2.x benötigt node.js >= 10. Also auf 10 upgedatet, ging ohne Probleme (außer iobroker ließ sich nicht sauber alles stoppen), dann js-contoller auf latest (3.0.18). Nun kann ich die restlichen Adapter noch updaten. Dank an @Josh für die übersichliche Darstellung und natürlich an Dich @Homoran
VG klausiob -
@Homoran Nach meinem Node und js-controller updates gibt es ein Problem mit dem Update einiger Adapter, wie folgt
$ ./iobroker upgrade vis-materialdesign Update vis-materialdesign from @0.3.4 to @0.3.6 NPM version: 6.14.4 npm install iobroker.vis-materialdesign@0.3.6 --loglevel error --prefix "/opt/iobroker" (System call) Package pixman-1 was not found in the pkg-config search path.Perhaps you should add the directory containing `pixman-1.pc'to the PKG_CONFIG_PATH environment variableNo package 'pixman-1' found gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)gyp ERR! stack at ChildProcess.emit (events.js:198:13)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)gyp ERR! System Linux 4.14.79-v7+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/opt/iobroker/node_modules/canvas/build/Release" "--napi_version=6" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v64"gyp ERR! cwd /opt/iobroker/node_modules/canvasgyp ERR! node -v v10.20.1gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/opt/iobroker/node_modules/canvas/build/Release --napi_version=6 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64' (1)node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/opt/iobroker/node_modules/canvas/node_modules/node-pre-gyp/lib/util/compile.js:83:29)node-pre-gyp ERR! stack at ChildProcess.emit (events.js:198:13)node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:982:16)node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5) node-pre-gyp ERR! System Linux 4.14.79-v7+node-pre-gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/canvas/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"node-pre-gyp ERR! cwd /opt/iobroker/node_modules/canvas node-pre-gyp ERR! node -v v10.20.1node-pre-gyp ERR! node-pre-gyp -v v0.11.0node-pre-gyp ERR! not ok ERR! sharp Use with glibc 2.24 requires manual installation of libvips >= 8.9.1info sharp Attempting to build from source via node-gyp but this may fail due to the above errorinfo sharp Please see https://sharp.pixelplumbing.com/install for required dependencies ../src/common.cc:23:22: fatal error: vips/vips8: Datei oder Verzeichnis nicht gefunden #include <vips/vips8> ^ compilation terminated. make: *** [Release/obj.target/sharp/src/common.o] Fehler 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:191:23)gyp ERR! stack at ChildProcess.emit (events.js:198:13)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12) gyp ERR! System Linux 4.14.79-v7+gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp ERR! cwd /opt/iobroker/node_modules/sharpgyp ERR! node -v v10.20.1gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok Killed ERROR: host.hsmart Cannot install iobroker.vis-materialdesign@0.3.6: 137 ERROR: process exited with code 25
Ursache bzw.Lösung: should add the directory containing `pixman-1.pc'to the PKG_CONFIG_PATH environment variableNo package 'pixman-1' found ?
VG klausiob
-
@klausiob said in Update js-controller und node.js:
Package pixman-1
npm i canvas
im Verzeichis /opt/iobroker ausführen.
Wenn das nicht weiter hilft:sudo apt install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev librsvg2-dev
(Wenn du da was Debian-artiges fährst)
-
@Thomas-Braun
Vorschlag 1 bringt folgendes Ergebnis::/opt/iobroker $ npm i canvas > sharp@0.25.2 install /opt/iobroker/node_modules/sharp > (node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy) ERR! sharp Use with glibc 2.24 requires manual installation of libvips >= 8.9.1 info sharp Attempting to build from source via node-gyp but this may fail due to the above error info sharp Please see https://sharp.pixelplumbing.com/install for required dependencies make: Verzeichnis „/opt/iobroker/node_modules/sharp/build“ wird betreten CC(target) Release/obj.target/nothing/../node-addon-api/src/nothing.o AR(target) Release/obj.target/../node-addon-api/src/nothing.a COPY Release/nothing.a TOUCH Release/obj.target/libvips-cpp.stamp CXX(target) Release/obj.target/sharp/src/common.o ../src/common.cc:23:22: fatal error: vips/vips8: Datei oder Verzeichnis nicht gefunden #include <vips/vips8> ^ compilation terminated. sharp.target.mk:130: die Regel für Ziel „Release/obj.target/sharp/src/common.o“ scheiterte make: *** [Release/obj.target/sharp/src/common.o] Fehler 1 make: Verzeichnis „/opt/iobroker/node_modules/sharp/build“ wird verlassen gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:191:23) gyp ERR! stack at ChildProcess.emit (events.js:198:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12) gyp ERR! System Linux 4.14.79-v7+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/sharp gyp ERR! node -v v10.20.1 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok > canvas@2.6.1 install /opt/iobroker/node_modules/canvas > node-pre-gyp install --fallback-to-build node-pre-gyp WARN Using request for node-pre-gyp https download node-pre-gyp WARN Tried to download(404): https://github.com/node-gfx/node-canvas-prebuilt/releases/download/v2.6.1/canvas-v2.6.1-node-v64-linux-glibc-arm.tar.gz node-pre-gyp WARN Pre-built binaries not found for canvas@2.6.1 and node@10.20.1 (node-v64 ABI, glibc) (falling back to source compile with node-gyp) Package pixman-1 was not found in the pkg-config search path. Perhaps you should add the directory containing `pixman-1.pc' to the PKG_CONFIG_PATH environment variable No package 'pixman-1' found gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16) gyp ERR! stack at ChildProcess.emit (events.js:198:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12) gyp ERR! System Linux 4.14.79-v7+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/opt/iobroker/node_modules/canvas/build/Release" "--napi_version=6" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v64" gyp ERR! cwd /opt/iobroker/node_modules/canvas gyp ERR! node -v v10.20.1 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/opt/iobroker/node_modules/canvas/build/Release --napi_version=6 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/opt/iobroker/node_modules/canvas/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:198:13) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:982:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5) node-pre-gyp ERR! System Linux 4.14.79-v7+ node-pre-gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/canvas/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /opt/iobroker/node_modules/canvas node-pre-gyp ERR! node -v v10.20.1 node-pre-gyp ERR! node-pre-gyp -v v0.11.0 node-pre-gyp ERR! not ok Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/opt/iobroker/node_modules/canvas/build/Release --napi_version=6 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64' (1) 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.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: sharp@0.25.2 (node_modules/sharp): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: sharp@0.25.2 install: `(node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy)` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! canvas@2.6.1 install: `node-pre-gyp install --fallback-to-build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the canvas@2.6.1 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2020-05-02T06_59_03_859Z-debug.log
Bei Vorschlag 2:
E: Fehlschlag beim Holen von http://raspbian.raspberrypi.org/raspbian/pool/main/t/tiff/libtiff5_4.0.8-2+deb9u4_armhf.deb 404 Not Found [IP: 2a00:1098:0:80:1000:75:0:3 80] E: Einige Archive konnten nicht heruntergeladen werden; vielleicht »apt-get update« ausführen oder mit »--fix-missing« probieren?
Bin offenbar nicht der einzigste mit dem Fehler: Link Text
Der Vorschlag hier hat auch nichts gebracht:
sudo apt-get remove build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Paket »libgif-dev« ist nicht installiert, wird also auch nicht entfernt. Paket »libjpeg-dev« ist nicht installiert, wird also auch nicht entfernt. Paket »libpango1.0-dev« ist nicht installiert, wird also auch nicht entfernt. Paket »librsvg2-dev« ist nicht installiert, wird also auch nicht entfernt. Paket »libcairo2-dev« ist nicht installiert, wird also auch nicht entfernt. Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt: g++ g++-6 libstdc++-6-dev Verwenden Sie »sudo apt autoremove«, um sie zu entfernen. Die folgenden Pakete werden ENTFERNT: build-essential 0 aktualisiert, 0 neu installiert, 1 zu entfernen und 91 nicht aktualisiert. Nach dieser Operation werden 20,5 kB Plattenplatz freigegeben. Möchten Sie fortfahren? [J/n] j (Lese Datenbank ... 41607 Dateien und Verzeichnisse sind derzeit installiert.) Entfernen von build-essential (12.3) ...
Da muß wohl ein Profi mal drauf gucken. Das habe ich noch gefunden:
Link Text -
sudo apt update
und dann nochmal die Pakete wie oben beschrieben installieren. Welches System hast du da eigentlich?
-
@Thomas-Braun Installation der Pakete lief erstmal fehlerfrei durch. Dummerweise scheint iobroker trotz o.g. Fehler die Updates zu installieren. Daher mußte ich jetzt ein anderen Adapter nehmen. Da kommen jetzt andere Fehler, aber offenbar zum gleichen Thema "imageprocessing" :
$ ./iobroker upgrade shelly Update shelly from @3.2.5 to @3.2.6 NPM version: 6.14.4 npm install iobroker.shelly@3.2.6 --loglevel error --prefix "/opt/iobroker" (System call) ../src/bmp/BMPParser.cc: In member function ‘void BMPParser::Parser::parse(uint8_t*, int, uint8_t*)’:../src/bmp/BMPParser.cc:189:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] E(ptr - data > imgdOffset, "image data overlaps with another structure"); ~~~~~~~~~~~^~~../src/bmp/BMPParser.cc:10:25: note: in definition of macro ‘E’ #define E(cond, msg) if(cond) return setErr(msg) ^~~~ ../src/bmp/BMPParser.cc:204:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] E(ptr - data + imgdSize > len, "not enough image data"); ~~~~~~~~~~~~~~~~~~~~~~^~~../src/bmp/BMPParser.cc:10:25: note: in definition of macro ‘E’ #define E(cond, msg) if(cond) return setErr(msg) ^~~~ ../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::ToBuffer(Nan::NAN_METHOD_ARGS_TYPE)’:../src/Canvas.cc:415:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (canvas->nBytes() > node::Buffer::kMaxLength) { ~~~~~~~~~~~~~~~~~^~~~~~ ERR! sharp Use with glibc 2.24 requires manual installation of libvips >= 8.9.1info sharp Attempting to build from source via node-gyp but this may fail due to the above errorinfo sharp Please see https://sharp.pixelplumbing.com/install for required dependencies ../src/common.cc:23:22: fatal error: vips/vips8: Datei oder Verzeichnis nicht gefunden #include <vips/vips8> ^ compilation terminated. make: *** [Release/obj.target/sharp/src/common.o] Fehler 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:191:23)gyp ERR! stack at ChildProcess.emit (events.js:198:13)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)gyp ERR! System Linux 4.14.79-v7+gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp ERR! cwd /opt/iobroker/node_modules/sharpgyp ERR! node -v v10.20.1gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok Killed ERROR: host.hsmart Cannot install iobroker.shelly@3.2.6: 137 ERROR: process exited with code 25
-
@klausiob Was für ein System läuft da?
lsb_release -a
-
@Thomas-Braun sagte in Update js-controller und node.js:
lsb_release -a
No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.6 (stretch) Release: 9.6 Codename: stretch
-
@klausiob Du brauchst ein aktuelles libvips bzw. libvips-dev
Ich fürchte nur, das baut keiner für Stretch.