NEWS
[gelöst] Canvas - compiled against a different Node.js vers,
-
Ich hatte mal probiert, das programmieren auf meinen Windows-PC zu machen, aber dann konnte ich das nicht testen, da es ja eine ganz anderen Umgebung ist (ich benutze z.B. die GPIO Leiste in meinem Prgramm).
Hast du einen Tipp wie man das machen kann?
-
@anno171986 sagte in [gelöst] Canvas - compiled against a different Node.js vers,:
@mickym Ich musste was in der DB Konfiguration ändern Anleitung
Jetzt geht es auch wiedder mit HeidiSQL über meinen Windows PC. Jetzt heißt es die eCharts zu erstellen.
Vielen Dank nochmal für deine Hilfe!!!!
Na dann viel Spaß. ️
-
Mit einem Editor in der Konsole?
Per z.B. Powershell/SSH vom Hauptrechner aus?Mach ich bei Shell-Skripten so.
-
Irgendwie werd ich aus diesem thread nicht schlau
Hab das gleiche Problem mit:
Status Ecovacs Deebot:The module /opt/iobroker/node_modules/canvas/build/Release/canvas.node was compiled against a different Node.js version using NODE_MODULE_VERSION 108. This version of Node.js requires NODE_MODULE_VERSION 115. Please try re-compiling or re-installing the module (for instance, using npm rebuild or npm install).
Mein ssh Ausgabe sagt:
pi4b@pi4b:~$ cd /opt/iobroker pi4b@pi4b:/opt/iobroker$ npm ls canvas iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.ecovacs-deebot@1.4.15 └─┬ ecovacs-deebot@0.9.6-beta.3 └── canvas@2.10.2
Wie bekomm ich den Fehler weg?
System ist uptodate.
-
canvas muss neu gegen NODE_MODULE_VERSION 115 gebaut werden. Sollte eigentlich automatisch passieren.
Entweder iobroker.ecovacs-deebot nochmal frisch installieren oder canvas direkt im entsprechenden Verzeichnis nochmal bauen lassen. -
Hast du da auf die Schnelle einen Befehl bevor ich mir wieder meinen npm tree zerstrubbel?
-
-
Ich habe statt install Upgrade gemacht
pi4b@pi4b:~$ iob install iobroker.ecovacs-deebot@1.4.15 adapter "ecovacs-deebot" already installed. Use "upgrade" to upgrade to a newer version. pi4b@pi4b:~$ iob upgrade iobroker.ecovacs-deebot@1.4.15 Would you like to reinstall version 1.4.15 of ecovacs-deebot now? [(y)es, (n)o]: y Update ecovacs-deebot from @1.4.15 to @1.4.15 Uninstall npm packet "iobroker.ecovacs-deebot" for a clean re-installation removed 45 packages in 22s 319 packages are looking for funding run `npm fund` for details NPM version: 10.7.0 Installing iobroker.ecovacs-deebot@1.4.15... (System call) added 45 packages in 3m 321 packages are looking for funding run `npm fund` for details upload [5] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/admin.d.ts admin.d.ts video/mp2t upload [4] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/ecovacs-deebot.png ecovacs-deebot.png image/png upload [3] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/index_m.html index_m.html text/html upload [2] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/jsonConfig.json jsonConfig.json application/json upload [1] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/style.css style.css text/css upload [0] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/words.js words.js application/javascript pi4b@pi4b:~$
-
@diamand2k22 sagte in [gelöst] Canvas - compiled against a different Node.js vers,:
Ich habe statt install Upgrade gemacht
Ja, Fehler von mir. Muss upgrade lauten.
-
Passt danke, ich habe in dem Zug den js-Controller auch gleich auf die v6.0.8 mit Iob upgrade self gebracht. Ist soweit alles durchgelaufen
-
Hallo Thomas,
ich hab hier wieder ein Problem mit dem canvas Paket.
Wie kann ich das direkt builden lassen?aktuell:
pi4b@pi4b:/opt/iobroker$ npm ls canvas iobroker.inst@3.0.0 /opt/iobroker └── (empty)
-
@diamand2k22 sagte in [gelöst] Canvas - compiled against a different Node.js vers,:
Wie kann ich das direkt builden lassen?
Am besten 'indirekt' durch Reinstallation des entsprechenden iobroker-Adapters.
-
hab ich schon probiert,
aber immer noch fehlendes canvas Paketpi4b@pi4b:/opt/iobroker$ iob upgrade iobroker.ecovacs-deebot@1.4.15 Would you like to reinstall version 1.4.15 of ecovacs-deebot now? [(y)es, (n)o]: y Update ecovacs-deebot from @1.4.15 to @1.4.15 Uninstall npm packet "iobroker.ecovacs-deebot" for a clean re-installation removed 45 packages in 29s 316 packages are looking for funding run `npm fund` for details NPM version: 10.9.0 Installing iobroker.ecovacs-deebot@1.4.15... (System call) added 45 packages in 48s 316 packages are looking for funding run `npm fund` for details Updating objects from io-package.json for adapter "ecovacs-deebot" with version "1.4.15" upload [5] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/admin.d.ts admin.d.ts video/mp2t upload [4] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/ecovacs-deebot.png ecovacs-deebot.png image/png upload [3] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/index_m.html index_m.html text/html upload [2] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/jsonConfig.json jsonConfig.json application/json upload [1] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/style.css style.css text/css upload [0] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/words.js words.js application/javascript pi4b@pi4b:/opt/iobroker$ npm ls canvas iobroker.inst@3.0.0 /opt/iobroker └── (empty)
-
Läuft bei mir durch:
echad@chet:/opt/iobroker $ npm ls canvas iobroker.inst@3.0.0 /opt/iobroker ├─┬ iobroker.echarts@1.9.5 │ ├── canvas@2.11.2 │ └─┬ jsdom@25.0.1 │ └── canvas@2.11.2 deduped └─┬ iobroker.mihome-vacuum@4.2.0 └── canvas@2.11.2 deduped echad@chet:/opt/iobroker $ iob add ecovacs-deebot NPM version: 10.9.2 Installing iobroker.ecovacs-deebot@1.4.15... (System call) added 33 packages in 2m 230 packages are looking for funding run `npm fund` for details host.chet install adapter ecovacs-deebot upload [5] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/admin.d.ts admin.d.ts video/mp2t upload [4] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/ecovacs-deebot.png ecovacs-deebot.png image/png upload [3] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/index_m.html index_m.html text/html upload [2] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/jsonConfig.json jsonConfig.json application/json upload [1] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/style.css style.css text/css upload [0] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/words.js words.js application/javascript host.chet object system.adapter.ecovacs-deebot created/updated Updating objects from io-package.json for adapter "ecovacs-deebot" with version "1.4.15" host.chet create instance ecovacs-deebot host.chet object system.adapter.ecovacs-deebot.0.alive created host.chet object system.adapter.ecovacs-deebot.0.connected created host.chet object system.adapter.ecovacs-deebot.0.compactMode created host.chet object system.adapter.ecovacs-deebot.0.cpu created host.chet object system.adapter.ecovacs-deebot.0.cputime created host.chet object system.adapter.ecovacs-deebot.0.memHeapUsed created host.chet object system.adapter.ecovacs-deebot.0.memHeapTotal created host.chet object system.adapter.ecovacs-deebot.0.memRss created host.chet object system.adapter.ecovacs-deebot.0.uptime created host.chet object system.adapter.ecovacs-deebot.0.inputCount created host.chet object system.adapter.ecovacs-deebot.0.outputCount created host.chet object system.adapter.ecovacs-deebot.0.eventLoopLag created host.chet object system.adapter.ecovacs-deebot.0.sigKill created host.chet object system.adapter.ecovacs-deebot.0.logLevel created host.chet object ecovacs-deebot.0.info created host.chet object ecovacs-deebot.0.info.connection created host.chet object ecovacs-deebot.0 created host.chet Set default value of ecovacs-deebot.0.info.connection: false host.chet object system.adapter.ecovacs-deebot.0 created echad@chet:/opt/iobroker $ npm ls canvas iobroker.inst@3.0.0 /opt/iobroker ├─┬ iobroker.echarts@1.9.5 │ ├── canvas@2.11.2 │ └─┬ jsdom@25.0.1 │ └── canvas@2.11.2 deduped ├─┬ iobroker.ecovacs-deebot@1.4.15 │ └─┬ ecovacs-deebot@0.9.6-beta.3 │ └── canvas@2.10.2 └─┬ iobroker.mihome-vacuum@4.2.0 └── canvas@2.11.2 deduped echad@chet:/opt/iobroker $
-
oh man, was ist denn da schon wieder kaputt ?
-
Hau den Adapter mal komplett von der Kiste runter und dann wieder frisch drauf.
Am besten mit --debug dann:iob add ecovacs-deebot --debug
-
$ iobroker url mrbungle64/ioBroker.ecovacs-deebot --host pi4b --debug install mrbungle64/ioBroker.ecovacs-deebot NPM version: 10.9.0 Installing mrbungle64/ioBroker.ecovacs-deebot... (System call) npm warn deprecated npmlog@5.0.1: This package is no longer supported. npm warn deprecated are-we-there-yet@2.0.0: This package is no longer supported.npm warn deprecated gauge@3.0.2: This package is no longer supported. > canvas@2.10.2 install> node-pre-gyp install --fallback-to-build --update-binary node-pre-gyp info it worked if it ends with oknode-pre-gyp info using node-pre-gyp@1.0.11node-pre-gyp info using node@22.12.0 | linux | arm64 (node:2806199) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.(Use `node --trace-deprecation ...` to show where the warning was created)node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v127-linux-glibc-arm64.tar.gz node-pre-gyp ERR! install response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v127-linux-glibc-arm64.tar.gz node-pre-gyp WARN Pre-built binaries not installable for canvas@2.10.2 and node@22.12.0 (node-v127 ABI, glibc) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v127-linux-glibc-arm64.tar.gz gyp info it worked if it ends with okgyp info using node-gyp@10.2.0gyp info using node@22.12.0 | linux | arm64 gyp info ok gyp info it worked if it ends with okgyp info using node-gyp@10.2.0gyp info using node@22.12.0 | linux | arm64 gyp info find Python using Python version 3.11.2 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3gyp info spawn args [gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',gyp info spawn args 'binding.gyp',gyp info spawn args '-f',gyp info spawn args 'make',gyp info spawn args '-I',gyp info spawn args '/opt/iobroker/node_modules/canvas/build/config.gypi',gyp info spawn args '-I',gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',gyp info spawn args '-I',gyp info spawn args '/home/iobroker/.cache/node-gyp/22.12.0/include/node/common.gypi',gyp info spawn args '-Dlibrary=shared_library',gyp info spawn args '-Dvisibility=default',gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.12.0',gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.12.0/<(target_arch)/node.lib',gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/canvas',gyp info spawn args '-Dnode_engine=v8',gyp info spawn args '--depth=.',gyp info spawn args '--no-parallel',gyp info spawn args '--generator-output',gyp info spawn args 'build',gyp info spawn args '-Goutput_dir=.'gyp info spawn args ] gyp info ok gyp info it worked if it ends with okgyp info using node-gyp@10.2.0gyp info using node@22.12.0 | linux | arm64gyp info spawn makegyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]make: Verzeichnis „/opt/iobroker/node_modules/canvas/build“ wird betreten SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node COPY Release/canvas-postbuild.node CXX(target) Release/obj.target/canvas/src/backend/Backend.o In file included from ../src/backend/Backend.h:6, from ../src/backend/Backend.cc:1:../../nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, imp::Sig)’:../../nan/nan.h:2548:19: error: no matching function for call to ‘v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>&, void (*&)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&), void (*&)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&), v8::Local<v8::Object>&, v8::AccessControl&, v8::PropertyAttribute&)’ 2548 | tpl->SetAccessor( | ~~~~~~~~~~~~~~~~^ 2549 | name | ~~~~ 2550 | , getter_ | ~~~~~~~~~ 2551 | , setter_ | ~~~~~~~~~ 2552 | , obj | ~~~~~ 2553 | , settings | ~~~~~~~~~~ 2554 | , attribute | ~~~~~~~~~~~ 2555 | #if (NODE_MODULE_VERSION < NODE_16_0_MODULE_VERSION) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2556 | , signature | ~~~~~~~~~~~ 2557 | #endif | ~~~~~~ 2558 | ); | ~ In file included from /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-function.h:15, from /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8.h:33, from /home/iobroker/.cache/node-gyp/22.12.0/include/node/node.h:73, from ../../nan/nan.h:62:/home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1049:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>, v8::AccessorGetterCallback, v8::AccessorSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’ 1049 | void SetAccessor( | ^~~~~~~~~~~/home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1052:61: note: no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’ 1052 | Local<Value> data = Local<Value>(), PropertyAttribute attribute = None, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~/home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1055:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’ 1055 | void SetAccessor( | ^~~~~~~~~~~/home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1058:61: note: no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’ 1058 | Local<Value> data = Local<Value>(), PropertyAttribute attribute = None, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~../../nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute)’:../../nan/nan.h:2594:19: error: no matching function for call to ‘v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>&, void (*&)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&), void (*&)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&), v8::Local<v8::Object>&, v8::AccessControl&, v8::PropertyAttribute&)’ 2594 | tpl->SetAccessor( | ~~~~~~~~~~~~~~~~^ 2595 | name | ~~~~ 2596 | , getter_ | ~~~~~~~~~ 2597 | , setter_ | ~~~~~~~~~ 2598 | , obj | ~~~~~ 2599 | , settings | ~~~~~~~~~~ 2600 | , attribute | ~~~~~~~~~~~ 2601 | ); | ~ /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1049:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>, v8::AccessorGetterCallback, v8::AccessorSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’ 1049 | void SetAccessor( | ^~~~~~~~~~~/home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1052:61: note: no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’ 1052 | Local<Value> data = Local<Value>(), PropertyAttribute attribute = None, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~/home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1055:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’ 1055 | void SetAccessor( | ^~~~~~~~~~~/home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1058:61: note: no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’ 1058 | Local<Value> data = Local<Value>(), PropertyAttribute attribute = None, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ make: *** [canvas.target.mk:159: Release/obj.target/canvas/src/backend/Backend.o] Fehler 1make: Verzeichnis „/opt/iobroker/node_modules/canvas/build“ wird verlassen gyp ERR! stack Error: `make` failed with exit code: 2gyp ERR! stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:216:23)gyp ERR! System Linux 6.1.21-v8+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--update-binary" "--module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/opt/iobroker/node_modules/canvas/build/Release" "--napi_version=9" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v127"gyp ERR! cwd /opt/iobroker/node_modules/canvasgyp ERR! node -v v22.12.0gyp ERR! node-gyp -v v10.2.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 build --fallback-to-build --update-binary --module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/opt/iobroker/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v127' (1)node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/opt/iobroker/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)node-pre-gyp ERR! stack at ChildProcess.emit (node:events:524:28)node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1101:16)node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:304:5) node-pre-gyp ERR! node -v v22.12.0node-pre-gyp ERR! node-pre-gyp -v v1.0.11node-pre-gyp ERR! not ok Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --update-binary --module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/opt/iobroker/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v127' (1) removed 2 packages, and changed 3 packages in 48s 316 packages are looking for funding run `npm fund` for details upload [5] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/admin.d.ts admin.d.ts video/mp2t upload [4] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/ecovacs-deebot.png ecovacs-deebot.png image/png upload [3] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/index_m.html index_m.html text/html upload [2] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/jsonConfig.json jsonConfig.json application/json upload [1] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/style.css style.css text/css upload [0] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/words.js words.js application/javascript Updating objects from io-package.json for adapter "ecovacs-deebot" with version "1.4.16-alpha.4" Update "system.adapter.ecovacs-deebot.0" Update "system.adapter.ecovacs-deebot.1" Process exited with code 0
irgendwie findet er das Package nicht.
WARN Hit error response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v127-linux-glibc-arm64.tar.gz
-
@diamand2k22 sagte in [gelöst] Canvas - compiled against a different Node.js vers,:
irgendwie findet er das Package nicht.
Ja, das ist nicht schlimm, weil es dann aus den Quellen gebaut wird.
Sieht dann so aus:
echad@chet:/opt/iobroker $ iob add ecovacs-deebot --debug NPM version: 10.9.2 Installing iobroker.ecovacs-deebot@1.4.15... (System call) npm warn deprecated node-xmpp-tls-connect@1.0.1: this package is deprecated please use https://github.com/xmppjs/xmpp.js npm warn deprecated node-xmpp-core@5.0.9: this package is deprecated please use https://github.com/xmppjs/xmpp.js npm warn deprecated @xmldom/xmldom@0.9.0-beta.11: this version has critical issues, please update to the latest version npm warn deprecated node-xmpp-client@3.2.0: this package is deprecated please use https://www.npmjs.com/package/@xmpp/client > canvas@2.10.2 install > node-pre-gyp install --fallback-to-build --update-binary node-pre-gyp info it worked if it ends with ok node-pre-gyp info using node-pre-gyp@1.0.11 node-pre-gyp info using node@23.5.0 | linux | arm64 (node:122704) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (Use `node --trace-deprecation ...` to show where the warning was created) node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v131-linux-glibc-arm64.tar.gz node-pre-gyp ERR! install response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v131-linux-glibc-arm64.tar.gz node-pre-gyp WARN Pre-built binaries not installable for canvas@2.10.2 and node@23.5.0 (node-v131 ABI, glibc) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v131-linux-glibc-arm64.tar.gz gyp info it worked if it ends with ok gyp info using node-gyp@11.0.0 gyp info using node@23.5.0 | linux | arm64 gyp info ok gyp info it worked if it ends with ok gyp info using node-gyp@11.0.0 gyp info using node@23.5.0 | linux | arm64 gyp info find Python using Python version 3.11.2 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/ecovacs-deebot/node_modules/canvas/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/23.5.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/23.5.0', gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/23.5.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/ecovacs-deebot/node_modules/canvas', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] gyp info ok gyp info it worked if it ends with ok gyp info using node-gyp@11.0.0 gyp info using node@23.5.0 | linux | arm64 gyp info spawn make gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] make: Entering directory '/opt/iobroker/node_modules/ecovacs-deebot/node_modules/canvas/build' SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node COPY Release/canvas-postbuild.node CXX(target) Release/obj.target/canvas/src/backend/Backend.o In file included from /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-local-handle.h:13, from /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-array-buffer.h:12, from /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8.h:24, from /home/iobroker/.cache/node-gyp/23.5.0/include/node/node.h:73, from ../../../../nan/nan.h:62, from ../src/backend/Backend.h:6, from ../src/backend/Backend.cc:1: In member function ‘bool v8::api_internal::IndirectHandleBase::IsEmpty() const’, inlined from ‘void v8::PersistentBase<T>::Reset() [with T = v8::Object]’ at /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-persistent-handle.h:450:20, inlined from ‘void v8::PersistentBase<T>::Reset(v8::Isolate*, const v8::Local<S>&) [with S = v8::Object; T = v8::Object]’ at /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-persistent-handle.h:463:8, inlined from ‘void Nan::Persistent<T, M>::Reset(const v8::Local<S>&) [with S = v8::Object; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>]’ at ../../../../nan/nan_persistent_12_inl.h:29:33, inlined from ‘void Nan::ObjectWrap::Wrap(v8::Local<v8::Object>)’ at ../../../../nan/nan_object_wrap.h:56:23, inlined from ‘static void Backend::init(const Nan::FunctionCallbackInfo<v8::Value>&)’ at ../src/backend/Backend.cc:23:16: /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-handle-base.h:56:43: warning: array subscript 0 is outside array bounds of ‘Nan::Persistent<v8::Object> [0]’ [-Warray-bounds] 56 | V8_INLINE bool IsEmpty() const { return location_ == nullptr; } | ^~~~~~~~~ In member function ‘void v8::api_internal::IndirectHandleBase::Clear()’, inlined from ‘void v8::PersistentBase<T>::Reset() [with T = v8::Object]’ at /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-persistent-handle.h:452:14, inlined from ‘void v8::PersistentBase<T>::Reset(v8::Isolate*, const v8::Local<S>&) [with S = v8::Object; T = v8::Object]’ at /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-persistent-handle.h:463:8, inlined from ‘void Nan::Persistent<T, M>::Reset(const v8::Local<S>&) [with S = v8::Object; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>]’ at ../../../../nan/nan_persistent_12_inl.h:29:33, inlined from ‘void Nan::ObjectWrap::Wrap(v8::Local<v8::Object>)’ at ../../../../nan/nan_object_wrap.h:56:23, inlined from ‘static void Backend::init(const Nan::FunctionCallbackInfo<v8::Value>&)’ at ../src/backend/Backend.cc:23:16: /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-handle-base.h:59:38: warning: array subscript 0 is outside array bounds of ‘Nan::Persistent<v8::Object> [0]’ [-Warray-bounds] 59 | V8_INLINE void Clear() { location_ = nullptr; } | ~~~~~~~~~~^~~~~~~~~ In file included from /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-object.h:11, from /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-array-buffer.h:13: In member function ‘void v8::PersistentBase<T>::Reset(v8::Isolate*, const v8::Local<S>&) [with S = v8::Object; T = v8::Object]’, inlined from ‘void Nan::Persistent<T, M>::Reset(const v8::Local<S>&) [with S = v8::Object; T = v8::Object; M = v8::NonCopyablePersistentTraits<v8::Object>]’ at ../../../../nan/nan_persistent_12_inl.h:29:33, inlined from ‘void Nan::ObjectWrap::Wrap(v8::Local<v8::Object>)’ at ../../../../nan/nan_object_wrap.h:56:23, inlined from ‘static void Backend::init(const Nan::FunctionCallbackInfo<v8::Value>&)’ at ../src/backend/Backend.cc:23:16: /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-persistent-handle.h:465:16: warning: array subscript 0 is outside array bounds of ‘Nan::Persistent<v8::Object> [0]’ [-Warray-bounds] 465 | this->slot() = New(isolate, *other); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ CXX(target) Release/obj.target/canvas/src/backend/ImageBackend.o CXX(target) Release/obj.target/canvas/src/backend/PdfBackend.o CXX(target) Release/obj.target/canvas/src/backend/SvgBackend.o CXX(target) Release/obj.target/canvas/src/bmp/BMPParser.o CXX(target) Release/obj.target/canvas/src/Backends.o CXX(target) Release/obj.target/canvas/src/Canvas.o In file included from ../../../../nan/nan_callbacks.h:123, from ../../../../nan/nan.h:182, from ../src/backend/Backend.h:6, from ../src/Canvas.h:5, from ../src/Canvas.cc:3: ../../../../nan/nan_callbacks_12_inl.h: In instantiation of ‘v8::Local<v8::Object> Nan::FunctionCallbackInfo<T>::Holder() const [with T = v8::Value]’: ../src/Canvas.cc:649:63: required from here ../../../../nan/nan_callbacks_12_inl.h:112:68: warning: ‘v8::Local<v8::Object> v8::FunctionCallbackInfo<F>::Holder() const [with T = v8::Value]’ is deprecated: V8 will stop providing access to hidden prototype (i.e. JSGlobalObject). Use This() instead. \nDO NOT try to workaround this by accessing JSGlobalObject via v8::Object::GetPrototype() - it'll be deprecated soon too. \nSee http://crbug.com/333672197. [-Wdeprecated-declarations] 112 | inline v8::Local<v8::Object> Holder() const { return info_.Holder(); } | ~~~~~~~~~~~~^~ In file included from /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-isolate.h:22, from /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-snapshot.h:9, from /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-context.h:15, from /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8.h:26, from /home/iobroker/.cache/node-gyp/23.5.0/include/node/node.h:73, from ../../../../nan/nan.h:62: /home/iobroker/.cache/node-gyp/23.5.0/include/node/v8-function-callback.h:658:15: note: declared here 658 | Local<Object> FunctionCallbackInfo<T>::Holder() const { | ^~~~~~~~~~~~~~~~~~~~~~~
-
Bitte ein gescheites Terminal verwenden, dann ist der Output auch besser lesbar.
Wie in meinem Beispiel. -
diesen ganzen Errors beim build von canvas machen micht stutzig... ab Zeile 140....
pi4b@pi4b:/opt/iobroker$ iob upgrade iobroker.ecovacs-deebot@1.4.15 --debug Would you like to downgrade ecovacs-deebot from @1.4.16-alpha.4 to @1.4.15 now? [(y)es, (n)o]: y Update ecovacs-deebot from @1.4.16-alpha.4 to @1.4.15 NPM version: 10.9.0 Installing iobroker.ecovacs-deebot@1.4.15... (System call) npm warn deprecated npmlog@5.0.1: This package is no longer supported. npm warn deprecated are-we-there-yet@2.0.0: This package is no longer supported. npm warn deprecated gauge@3.0.2: This package is no longer supported. > canvas@2.10.2 install > node-pre-gyp install --fallback-to-build --update-binary node-pre-gyp info it worked if it ends with ok node-pre-gyp info using node-pre-gyp@1.0.11 node-pre-gyp info using node@22.12.0 | linux | arm64 (node:2806815) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. (Use `node --trace-deprecation ...` to show where the warning was created) node-pre-gyp http GET https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v127-linux-glibc-arm64.tar.gz node-pre-gyp ERR! install response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v127-linux-glibc-arm64.tar.gz node-pre-gyp WARN Pre-built binaries not installable for canvas@2.10.2 and node@22.12.0 (node-v127 ABI, glibc) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/Automattic/node-canvas/releases/download/v2.10.2/canvas-v2.10.2-node-v127-linux-glibc-arm64.tar.gz gyp info it worked if it ends with ok gyp info using node-gyp@10.2.0 gyp info using node@22.12.0 | linux | arm64 gyp info ok gyp info it worked if it ends with ok gyp info using node-gyp@10.2.0 gyp info using node@22.12.0 | linux | arm64 gyp info find Python using Python version 3.11.2 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/canvas/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/22.12.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.12.0', gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.12.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/canvas', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] gyp info ok gyp info it worked if it ends with ok gyp info using node-gyp@10.2.0 gyp info using node@22.12.0 | linux | arm64 gyp info spawn make gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ] make: Verzeichnis „/opt/iobroker/node_modules/canvas/build“ wird betreten SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node COPY Release/canvas-postbuild.node CXX(target) Release/obj.target/canvas/src/backend/Backend.o In file included from ../src/backend/Backend.h:6, from ../src/backend/Backend.cc:1: ../../nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, imp::Sig)’: ../../nan/nan.h:2548:19: error: no matching function for call to ‘v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>&, void (*&)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&), void (*&)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&), v8::Local<v8::Object>&, v8::AccessControl&, v8::PropertyAttribute&)’ 2548 | tpl->SetAccessor( | ~~~~~~~~~~~~~~~~^ 2549 | name | ~~~~ 2550 | , getter_ | ~~~~~~~~~ 2551 | , setter_ | ~~~~~~~~~ 2552 | , obj | ~~~~~ 2553 | , settings | ~~~~~~~~~~ 2554 | , attribute | ~~~~~~~~~~~ 2555 | #if (NODE_MODULE_VERSION < NODE_16_0_MODULE_VERSION) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2556 | , signature | ~~~~~~~~~~~ 2557 | #endif | ~~~~~~ 2558 | ); | ~ In file included from /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-function.h:15, from /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8.h:33, from /home/iobroker/.cache/node-gyp/22.12.0/include/node/node.h:73, from ../../nan/nan.h:62: /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1049:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>, v8::AccessorGetterCallback, v8::AccessorSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’ 1049 | void SetAccessor( | ^~~~~~~~~~~ /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1052:61: note: no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’ 1052 | Local<Value> data = Local<Value>(), PropertyAttribute attribute = None, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1055:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’ 1055 | void SetAccessor( | ^~~~~~~~~~~ /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1058:61: note: no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’ 1058 | Local<Value> data = Local<Value>(), PropertyAttribute attribute = None, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../../nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute)’: ../../nan/nan.h:2594:19: error: no matching function for call to ‘v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>&, void (*&)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&), void (*&)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&), v8::Local<v8::Object>&, v8::AccessControl&, v8::PropertyAttribute&)’ 2594 | tpl->SetAccessor( | ~~~~~~~~~~~~~~~~^ 2595 | name | ~~~~ 2596 | , getter_ | ~~~~~~~~~ 2597 | , setter_ | ~~~~~~~~~ 2598 | , obj | ~~~~~ 2599 | , settings | ~~~~~~~~~~ 2600 | , attribute | ~~~~~~~~~~~ 2601 | ); | ~ /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1049:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>, v8::AccessorGetterCallback, v8::AccessorSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’ 1049 | void SetAccessor( | ^~~~~~~~~~~ /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1052:61: note: no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’ 1052 | Local<Value> data = Local<Value>(), PropertyAttribute attribute = None, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1055:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’ 1055 | void SetAccessor( | ^~~~~~~~~~~ /home/iobroker/.cache/node-gyp/22.12.0/include/node/v8-template.h:1058:61: note: no known conversion for argument 5 from ‘v8::AccessControl’ to ‘v8::PropertyAttribute’ 1058 | Local<Value> data = Local<Value>(), PropertyAttribute attribute = None, | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ make: *** [canvas.target.mk:159: Release/obj.target/canvas/src/backend/Backend.o] Fehler 1 make: Verzeichnis „/opt/iobroker/node_modules/canvas/build“ wird verlassen gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:216:23) gyp ERR! System Linux 6.1.21-v8+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--update-binary" "--module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/opt/iobroker/node_modules/canvas/build/Release" "--napi_version=9" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v127" gyp ERR! cwd /opt/iobroker/node_modules/canvas gyp ERR! node -v v22.12.0 gyp ERR! node-gyp -v v10.2.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 build --fallback-to-build --update-binary --module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/opt/iobroker/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v127' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/opt/iobroker/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23) node-pre-gyp ERR! stack at ChildProcess.emit (node:events:524:28) node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1101:16) node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:304:5) node-pre-gyp ERR! System Linux 6.1.21-v8+ node-pre-gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" "--update-binary" node-pre-gyp ERR! cwd /opt/iobroker/node_modules/canvas node-pre-gyp ERR! node -v v22.12.0 node-pre-gyp ERR! node-pre-gyp -v v1.0.11 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 build --fallback-to-build --update-binary --module=/opt/iobroker/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/opt/iobroker/node_modules/canvas/build/Release --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v127' (1) added 2 packages, and changed 3 packages in 50s 316 packages are looking for funding run `npm fund` for details Updating objects from io-package.json for adapter "ecovacs-deebot" with version "1.4.15" Update "system.adapter.ecovacs-deebot.0" Update "system.adapter.ecovacs-deebot.1" upload [5] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/admin.d.ts admin.d.ts video/mp2t upload [4] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/ecovacs-deebot.png ecovacs-deebot.png image/png upload [3] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/index_m.html index_m.html text/html upload [2] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/jsonConfig.json jsonConfig.json application/json upload [1] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/style.css style.css text/css upload [0] ecovacs-deebot.admin /opt/iobroker/node_modules/iobroker.ecovacs-deebot/admin/words.js words.js application/javascript pi4b@pi4b:/opt/iobroker$