NEWS
Adapter Update Errors nach Node Aktualisierung
-
Hallo zusammen,
ich hab kürzlich aus "Nicht-ioBroker-Gründen" Node von 10 auf 12 LTS geupdated (raspbian Stretch).
Ich hab mich an folgende Anleitung gehalten: https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updatenLeider bekomme ich nun bei jeder Adapter Aktualisierung folgenden Fehler (egal ob über Putty und iobroker upgrade oder über die Web Oberfläche):
$ ./iobroker upgrade telegram Update telegram from @1.4.3 to @1.5.9 host.raspberrypi Adapter "system.adapter.telegram.0" is stopped. host.raspberrypi Adapter "system.adapter.telegram.1" is stopped. NPM version: 6.14.5 npm install iobroker.telegram@1.5.9 --loglevel error --prefix "/opt/iobroker" (System call) ../authenticate_pam.cc: In function ‘void after_doing_auth(uv_work_t*, int)’:../authenticate_pam.cc:107:87: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), Nan::New(m->callback), 1, args); ^ In file included from ../authenticate_pam.cc:23:0:../../nan/nan.h:1024:46: note: declared here NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback( ^~~~~~~~~~~~ ../authenticate_pam.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Authenticate(Nan::NAN_METHOD_ARGS_TYPE)’:../authenticate_pam.cc:147:83: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations] Local<Value> res = options->Get(Nan::New<String>("serviceName").ToLocalChecked()); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:3553:51: note: declared here V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key)); ^/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../authenticate_pam.cc:150:69: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’ serviceName->WriteUtf8(m->serviceName, sizeof(m->serviceName) - 1); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’../authenticate_pam.cc:152:69: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations] res = options->Get(Nan::New<String>("remoteHost").ToLocalChecked()); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:3553:51: note: declared here V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key)); ^/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../authenticate_pam.cc:155:66: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’ remoteHost->WriteUtf8(m->remoteHost, sizeof(m->remoteHost) - 1); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’../authenticate_pam.cc:160:58: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’ username->WriteUtf8(m->username, sizeof(m->username) - 1); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’../authenticate_pam.cc:161:58: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’ password->WriteUtf8(m->password, sizeof(m->password) - 1); ^In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23:/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~/home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’ ../authenticate_pam.cc: At global scope:../authenticate_pam.cc:170:11: error: variable or field ‘init’ declared void void init(Handle<Object> exports) { ^~~~~~../authenticate_pam.cc:170:11: error: ‘Handle’ was not declared in this scope../authenticate_pam.cc:170:24: error: expected primary-expression before ‘>’ token void init(Handle<Object> exports) { ^../authenticate_pam.cc:170:26: error: ‘exports’ was not declared in this scope void init(Handle<Object> exports) { ^~~~~~~In file included from ../../nan/nan.h:54:0, from ../authenticate_pam.cc:23:../authenticate_pam.cc:175:31: error: ‘init’ was not declared in this scope NODE_MODULE(authenticate_pam, init); ^/home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:608:36: note: in definition of macro ‘NODE_MODULE_X’ (node::addon_register_func) (regfunc), \ ^~~~~~~../authenticate_pam.cc:175:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(authenticate_pam, init); ^~~~~~~~~~~ make: *** [Release/obj.target/authenticate_pam/authenticate_pam.o] Error 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:194:23)gyp ERR! stack at ChildProcess.emit (events.js:310:20)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) gyp ERR! System Linux 4.19.66-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/authenticate-pamgyp ERR! node -v v12.16.3gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok ╭─────────────────────────────────────────────────────────╮│ ││ Manual installation of ioBroker is no longer supported ││ on Linux, OSX and FreeBSD! ││ Please refer to the documentation on how to install it! ││ https://github.com/ioBroker/ioBroker/wiki/Installation ││ │╰─────────────────────────────────────────────────────────╯ npm ERR! code ELIFECYCLEnpm ERR! errno 100 npm ERR! iobroker@2.0.3 postinstall: `node lib/install.js`npm ERR! Exit status 100npm ERR! npm ERR! Failed at the iobroker@2.0.3 postinstall 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-17T08_05_31_781Z-debug.log ERROR: host.raspberrypi Cannot install iobroker.telegram@1.5.9: 100 ERROR: process exited with code 25
Ein apt full-upgrade und die iobroker/fix.sh hab ich jetzt als error handling auch schon gefahren.
Kann mir da jemand helfen?Danke vorab und Gruß!
-
whoami nodejs -v && node -v && npm -V which nodejs && which node && which npm
-
pi@raspberrypi:~ $ whoami pi pi@raspberrypi:~ $ nodejs -v && node -v && npm -v v12.16.3 v12.16.3 6.14.5 pi@raspberrypi:~ $ which nodejs && which node && which npm /usr/bin/nodejs /usr/bin/node /usr/bin/npm
iobroker läuft aber 100% mit dem user "iobroker"
-
@jlssmt Passt schon
iobroker version
-
@Thomas-Braun said in Adapter Update Errors nach Node Aktualisierung:
iobroker version
2.2.9
Da steht eben das 10er update aus, das ich nicht installieren kann. -
@jlssmt Was meinst du? node10? Du hast doch node 12 laufen.
-
@Thomas-Braun
Ne das admin adapter 2.2.10 update -
@jlssmt sagte in Adapter Update Errors nach Node Aktualisierung:
@Thomas-Braun
Ne das admin adapter 2.2.10 updateDu sprichst in Rätseln.
Was willst denn nun updaten, Node oder Admin? Wobei Dein Admin aus der Steinzeit kommt, wir sind bei 4 und Deiner ist 2. -
Ist im Ordner /opt/iobroker eine Datei package-lock.json?
Ist im Ordner /opt/iobroker/node_modules ein Ordner iobroker ohne führendes @?
Zeige bitte den Inhalt der Datei /opt/iobroker/package.json. -
@Jan1 Das ist wohl der js-Controller in 'default'.
-
@Thomas-Braun
Kommt hin und noch viel Spaß hier, wird bestimmt noch lustig -
Sorry Jungens
War n Fehler von mir. Admin ist natürlich 4.0.9 und das Update auf 4.0.10 steht aus.
js-controller ist 2.2.9
package-lock.json existiert
Hier die package.json:{ "name": "iobroker.inst", "version": "2.0.3", "private": true, "description": "Updated by reinstall.js on 2020-05-14T11:46:29.718Z", "scripts": { "install": "node lib/checkVersions.js", "postinstall": "node lib/install.js", "test": "node node_modules/mocha/bin/mocha --exit" }, "dependencies": { "colors": "^1.3.3", "fs-extra": "^7.0.1", "iobroker": "2.0.3", "iobroker.admin": "4.0.9", "iobroker.discovery": "2.2.2", "iobroker.flot": "1.9.2", "iobroker.history": "1.8.7", "iobroker.info": "1.7.2", "iobroker.javascript": "4.5.1", "iobroker.js-controller": "2.2.9", "iobroker.material": "0.13.8", "iobroker.scenes": "1.1.0", "iobroker.simple-api": "2.3.2", "iobroker.socketio": "3.0.6", "iobroker.sonoff": "2.3.3", "iobroker.telegram": "1.4.3", "iobroker.terminal": "0.1.2", "iobroker.tr-064": "3.1.4", "iobroker.web": "3.0.7", "iobroker.yeelight-2": "1.0.3", "iobroker.zigbee": "1.0.4", "semver": "^5.6.0", "yargs": "^7.0.2", "iobroker.objects-redis": "2.0.5" } }
-
@jlssmt
Lösch mal die Zeile 14 mit"iobroker": "2.0.3",
raus.
Dann
iobroker restart iobroker update iobroker upgrade
-
@Thomas-Braun
es scheint zu funktionieren. Kann ich dich noch fragen, wie du auf den Fehler bekommen bist? Die node-gyp Error Meldungen scheinen ja irgendwie egal zu sein. Aber wie debugged man sowas?
Und wie ist der Fehler entstanden?iobroker upgrade Update admin from @4.0.9 to @4.0.10 host.raspberrypi Adapter "system.adapter.admin.0" is stopped. NPM version: 6.14.5 npm install iobroker.admin@4.0.10 --loglevel error --prefix "/opt/iobroker" (Sys tem call) ../authenticate_pam.cc: In function ‘void after_doing_auth(uv_work_t*, int)’: ../authenticate_pam.cc:107:87: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations] Nan::MakeCallback(Nan::GetCurrentContext()->Global(), Nan::New(m->callback), 1, args); ^ In file included from ../authenticate_pam.cc:23:0: ../../nan/nan.h:1024:46: note: declared here NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback( ^~~~~~~~~~~~ ../authenticate_pam.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Authenticate(Nan::NAN_METHOD_ARGS_TYPE)’: ../authenticate_pam.cc:147:83: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations] Local<Value> res = options->Get(Nan::New<String>("serviceName").ToLocalChecked()); ^ In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:3553:51: note: declared here V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key)); ^ /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../authenticate_pam.cc:150:69: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’ serviceName->WriteUtf8(m->serviceName, sizeof(m->serviceName) - 1); ^ In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~ /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’ ../authenticate_pam.cc:152:69: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations] res = options->Get(Nan::New<String>("remoteHost").ToLocalChecked()); ^ In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8-internal.h:14:0, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:27, from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:3553:51: note: declared here V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key)); ^ /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^~~~~~~~~~ ../authenticate_pam.cc:155:66: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’ remoteHost->WriteUtf8(m->remoteHost, sizeof(m->remoteHost) - 1); ^ In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~ /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’ ../authenticate_pam.cc:160:58: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’ username->WriteUtf8(m->username, sizeof(m->username) - 1); ^ In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~ /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’ ../authenticate_pam.cc:161:58: error: no matching function for call to ‘v8::String::WriteUtf8(char [128], unsigned int)’ password->WriteUtf8(m->password, sizeof(m->password) - 1); ^ In file included from /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:67:0, from ../../nan/nan.h:54, from ../authenticate_pam.cc:23: /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^~~~~~~~~ /home/iobroker/.cache/node-gyp/12.16.3/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char [128]’ to ‘v8::Isolate*’ ../authenticate_pam.cc: At global scope: ../authenticate_pam.cc:170:11: error: variable or field ‘init’ declared void void init(Handle<Object> exports) { ^~~~~~ ../authenticate_pam.cc:170:11: error: ‘Handle’ was not declared in this scope ../authenticate_pam.cc:170:24: error: expected primary-expression before ‘>’ token void init(Handle<Object> exports) { ^ ../authenticate_pam.cc:170:26: error: ‘exports’ was not declared in this scope void init(Handle<Object> exports) { ^~~~~~~ In file included from ../../nan/nan.h:54:0, from ../authenticate_pam.cc:23: ../authenticate_pam.cc:175:31: error: ‘init’ was not declared in this scope NODE_MODULE(authenticate_pam, init); ^ /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:608:36: note: in definition of macro ‘NODE_MODULE_X’ (node::addon_register_func) (regfunc), \ ^~~~~~~ ../authenticate_pam.cc:175:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(authenticate_pam, init); ^~~~~~~~~~~ make: *** [Release/obj.target/authenticate_pam/authenticate_pam.o] Error 1 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:194:23) gyp ERR! stack at ChildProcess.emit (events.js:310:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) gyp ERR! System Linux 4.19.66-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/authenticate-pam gyp ERR! node -v v12.16.3 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok upload [3] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/words.js words.js application/javascript Update "system.adapter.admin.0" upload [2] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/index_m.html index_m.html text/html upload [1] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/index.html index.html text/html upload [0] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/admin.png admin.png image/png Adapter "admin" updated host.raspberrypi Adapter "system.adapter.admin.0" is started
-
@jlssmt Drauf gekommen bin ich durch die Zeilen 21 + 22 in deinem ersten log:
npm ERR! code ELIFECYCLEnpm ERR! errno 100 npm ERR! iobroker@2.0.3 postinstall: `node lib/install.js`
Eingehandelt hast du dir das vermutlich hierdurch:
"Updated by reinstall.js on 2020-05-14T11:46:29.718Z"
Da hast du wohl irgendwas einfach unsauber drüber geknallt, vermute ich.
Lass mal ein
iobroker rebuild self
laufen
-
@Thomas-Braun
die reinstall.js kommt halt aus der Anleitung (Punkt 4.c) ) hier: https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten
Die Community hier ist echt Bombe. Aber manchmal sind es leider einfach zu viele (teilweise auch veraltete) Informationen.Meine Adapter wurden jetzt alle erfolgreich geupdated.
iobroker rebuild self
geht leider nicht. rebuild existiert (bei mir) nicht als command. -
@jlssmt
Das mit dem reinstall ist aber auch erst Option c)
Mach mal in /opt/iobroker einnpm rebuild
-
erledigt. Ich denk es läuft alles wieder. Danke dir auf jeden Fall!