NEWS
Zigbee-Adapter auf ROT nach Update auf Node 12 LTS
-
Danke für die Rückinfo.
Rebuild habe ich nun gemacht. Ob es Fehler sind weiß ich nicht, zumindest kommen einige Warnungen.
Anbei das Protokoll:
root@Bridge:~# npm rebuild > @serialport/bindings@8.0.7 install /root/node_modules/@serialport/bindings > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild prebuild-install WARN install No prebuilt binaries found (target=10.20.1 runtime=node arch=arm libc= platform=linux) make: Entering directory '/root/node_modules/@serialport/bindings/build' CXX(target) Release/obj.target/bindings/src/serialport.o In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1: ../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:78:69: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); ^~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:135:71: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); ^~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:175:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); ^~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:215:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); ^~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:270:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet); ^~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:314:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet); ^~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:363:76: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); ^~~~~~~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:409:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); ^~~~~~~~~~~~~~ ../src/serialport.cpp: At global scope: ../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { ^ ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { ^ In file included from ../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1: /root/.cache/node-gyp/10.20.1/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /root/.cache/node-gyp/10.20.1/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~ In file included from /root/.cache/node-gyp/10.20.1/include/node/node.h:63, from ../../../nan/nan.h:54, from ../src/./serialport.h:6, from ../src/serialport.cpp:1: /root/.cache/node-gyp/10.20.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’: /root/.cache/node-gyp/10.20.1/include/node/node_object_wrap.h:84:78: required from here /root/.cache/node-gyp/10.20.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /root/.cache/node-gyp/10.20.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’: ../../../nan/nan_object_wrap.h:65:61: required from here /root/.cache/node-gyp/10.20.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] CXX(target) Release/obj.target/bindings/src/serialport_unix.o In file included from ../src/serialport.h:6, from ../src/serialport_unix.cpp:2: ../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ In file included from /root/.cache/node-gyp/10.20.1/include/node/node.h:63, from ../../../nan/nan.h:54, from ../src/serialport.h:6, from ../src/serialport_unix.cpp:2: /root/.cache/node-gyp/10.20.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’: /root/.cache/node-gyp/10.20.1/include/node/node_object_wrap.h:84:78: required from here /root/.cache/node-gyp/10.20.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /root/.cache/node-gyp/10.20.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’: ../../../nan/nan_object_wrap.h:65:61: required from here /root/.cache/node-gyp/10.20.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] ../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’: ../src/serialport_unix.cpp:176:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp:176:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’: ../src/serialport_unix.cpp:86:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp:86:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CXX(target) Release/obj.target/bindings/src/poller.o In file included from ../src/poller.cpp:1: ../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ In file included from /root/.cache/node-gyp/10.20.1/include/node/node.h:63, from ../../../nan/nan.h:54, from ../src/poller.cpp:1: /root/.cache/node-gyp/10.20.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’: /root/.cache/node-gyp/10.20.1/include/node/node_object_wrap.h:84:78: required from here /root/.cache/node-gyp/10.20.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /root/.cache/node-gyp/10.20.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’: ../../../nan/nan_object_wrap.h:65:61: required from here /root/.cache/node-gyp/10.20.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] CXX(target) Release/obj.target/bindings/src/serialport_linux.o SOLINK_MODULE(target) Release/obj.target/bindings.node COPY Release/bindings.node make: Leaving directory '/root/node_modules/@serialport/bindings/build' > canvas@2.6.1 install /root/node_modules/canvas > node-pre-gyp install --fallback-to-build node-pre-gyp WARN Using request for node-pre-gyp https download [canvas] Success: "/root/node_modules/canvas/build/Release/canvas.node" already installed Pass --update-binary to reinstall or --build-from-source to recompile @serialport/binding-abstract@8.0.6 /root/node_modules/@serialport/binding-abstract debug@4.1.1 /root/node_modules/debug ms@2.1.2 /root/node_modules/ms @serialport/bindings@8.0.7 /root/node_modules/@serialport/bindings @serialport/parser-readline@8.0.6 /root/node_modules/@serialport/parser-readline @serialport/parser-delimiter@8.0.6 /root/node_modules/@serialport/parser-delimiter bindings@1.5.0 /root/node_modules/bindings file-uri-to-path@1.0.0 /root/node_modules/file-uri-to-path nan@2.14.0 /root/node_modules/nan prebuild-install@5.3.3 /root/node_modules/prebuild-install detect-libc@1.0.3 /root/node_modules/detect-libc expand-template@2.0.3 /root/node_modules/expand-template github-from-package@0.0.0 /root/node_modules/github-from-package minimist@1.2.0 /root/node_modules/minimist mkdirp@0.5.1 /root/node_modules/mkdirp minimist@0.0.8 /root/node_modules/mkdirp/node_modules/minimist napi-build-utils@1.0.1 /root/node_modules/napi-build-utils node-abi@2.13.0 /root/node_modules/node-abi semver@5.7.1 /root/node_modules/semver noop-logger@0.1.1 /root/node_modules/noop-logger npmlog@4.1.2 /root/node_modules/npmlog are-we-there-yet@1.1.5 /root/node_modules/are-we-there-yet delegates@1.0.0 /root/node_modules/delegates readable-stream@2.3.7 /root/node_modules/readable-stream core-util-is@1.0.2 /root/node_modules/core-util-is inherits@2.0.4 /root/node_modules/inherits isarray@1.0.0 /root/node_modules/isarray process-nextick-args@2.0.1 /root/node_modules/process-nextick-args safe-buffer@5.1.2 /root/node_modules/safe-buffer string_decoder@1.1.1 /root/node_modules/string_decoder util-deprecate@1.0.2 /root/node_modules/util-deprecate console-control-strings@1.1.0 /root/node_modules/console-control-strings gauge@2.7.4 /root/node_modules/gauge aproba@1.2.0 /root/node_modules/aproba has-unicode@2.0.1 /root/node_modules/has-unicode object-assign@4.1.1 /root/node_modules/object-assign signal-exit@3.0.2 /root/node_modules/signal-exit string-width@1.0.2 /root/node_modules/string-width code-point-at@1.1.0 /root/node_modules/code-point-at is-fullwidth-code-point@1.0.0 /root/node_modules/is-fullwidth-code-point number-is-nan@1.0.1 /root/node_modules/number-is-nan strip-ansi@3.0.1 /root/node_modules/strip-ansi ansi-regex@2.1.1 /root/node_modules/ansi-regex wide-align@1.1.3 /root/node_modules/wide-align set-blocking@2.0.0 /root/node_modules/set-blocking pump@3.0.0 /root/node_modules/pump end-of-stream@1.4.4 /root/node_modules/end-of-stream once@1.4.0 /root/node_modules/once wrappy@1.0.2 /root/node_modules/wrappy rc@1.2.8 /root/node_modules/rc deep-extend@0.6.0 /root/node_modules/deep-extend ini@1.3.5 /root/node_modules/ini strip-json-comments@2.0.1 /root/node_modules/strip-json-comments simple-get@3.1.0 /root/node_modules/simple-get decompress-response@4.2.1 /root/node_modules/decompress-response mimic-response@2.0.0 /root/node_modules/mimic-response simple-concat@1.0.0 /root/node_modules/simple-concat tar-fs@2.0.0 /root/node_modules/tar-fs chownr@1.1.3 /root/node_modules/chownr tar-stream@2.1.0 /root/node_modules/tar-stream bl@3.0.0 /root/node_modules/bl readable-stream@3.5.0 /root/node_modules/bl/node_modules/readable-stream fs-constants@1.0.0 /root/node_modules/fs-constants readable-stream@3.5.0 /root/node_modules/tar-stream/node_modules/readable-stream tunnel-agent@0.6.0 /root/node_modules/tunnel-agent which-pm-runs@1.0.0 /root/node_modules/which-pm-runs abbrev@1.1.1 /root/node_modules/abbrev ajv@6.12.2 /root/node_modules/ajv fast-deep-equal@3.1.1 /root/node_modules/fast-deep-equal fast-json-stable-stringify@2.1.0 /root/node_modules/fast-json-stable-stringify json-schema-traverse@0.4.1 /root/node_modules/json-schema-traverse uri-js@4.2.2 /root/node_modules/uri-js punycode@2.1.1 /root/node_modules/punycode asn1@0.2.4 /root/node_modules/asn1 safer-buffer@2.1.2 /root/node_modules/safer-buffer assert-plus@1.0.0 /root/node_modules/assert-plus asynckit@0.4.0 /root/node_modules/asynckit aws-sign2@0.7.0 /root/node_modules/aws-sign2 aws4@1.9.1 /root/node_modules/aws4 balanced-match@1.0.0 /root/node_modules/balanced-match bcrypt-pbkdf@1.0.2 /root/node_modules/bcrypt-pbkdf tweetnacl@0.14.5 /root/node_modules/tweetnacl brace-expansion@1.1.11 /root/node_modules/brace-expansion concat-map@0.0.1 /root/node_modules/concat-map canvas@2.6.1 /root/node_modules/canvas node-pre-gyp@0.11.0 /root/node_modules/node-pre-gyp needle@2.3.2 /root/node_modules/needle debug@3.2.6 /root/node_modules/needle/node_modules/debug iconv-lite@0.4.24 /root/node_modules/iconv-lite sax@1.2.4 /root/node_modules/sax nopt@4.0.1 /root/node_modules/nopt osenv@0.1.5 /root/node_modules/osenv os-homedir@1.0.2 /root/node_modules/os-homedir os-tmpdir@1.0.2 /root/node_modules/os-tmpdir npm-packlist@1.4.8 /root/node_modules/npm-packlist ignore-walk@3.0.3 /root/node_modules/ignore-walk minimatch@3.0.4 /root/node_modules/minimatch npm-bundled@1.1.1 /root/node_modules/npm-bundled npm-normalize-package-bin@1.0.1 /root/node_modules/npm-normalize-package-bin rimraf@2.7.1 /root/node_modules/rimraf glob@7.1.6 /root/node_modules/glob fs.realpath@1.0.0 /root/node_modules/fs.realpath inflight@1.0.6 /root/node_modules/inflight path-is-absolute@1.0.1 /root/node_modules/path-is-absolute tar@4.4.13 /root/node_modules/tar fs-minipass@1.2.7 /root/node_modules/fs-minipass minipass@2.9.0 /root/node_modules/minipass yallist@3.1.1 /root/node_modules/yallist minizlib@1.3.3 /root/node_modules/minizlib caseless@0.12.0 /root/node_modules/caseless combined-stream@1.0.8 /root/node_modules/combined-stream delayed-stream@1.0.0 /root/node_modules/delayed-stream dashdash@1.14.1 /root/node_modules/dashdash ecc-jsbn@0.1.2 /root/node_modules/ecc-jsbn jsbn@0.1.1 /root/node_modules/jsbn extend@3.0.2 /root/node_modules/extend extsprintf@1.3.0 /root/node_modules/extsprintf forever-agent@0.6.1 /root/node_modules/forever-agent form-data@2.3.3 /root/node_modules/form-data mime-types@2.1.26 /root/node_modules/mime-types mime-db@1.43.0 /root/node_modules/mime-db getpass@0.1.7 /root/node_modules/getpass har-schema@2.0.0 /root/node_modules/har-schema har-validator@5.1.3 /root/node_modules/har-validator http-signature@1.2.0 /root/node_modules/http-signature jsprim@1.4.1 /root/node_modules/jsprim json-schema@0.2.3 /root/node_modules/json-schema verror@1.10.0 /root/node_modules/verror sshpk@1.16.1 /root/node_modules/sshpk iobroker.enigma2@1.2.9 /root/node_modules/iobroker.enigma2 ping@0.2.3 /root/node_modules/ping q@1.5.1 /root/node_modules/q underscore@1.10.2 /root/node_modules/underscore request@2.88.2 /root/node_modules/request is-typedarray@1.0.0 /root/node_modules/is-typedarray isstream@0.1.2 /root/node_modules/isstream json-stringify-safe@5.0.1 /root/node_modules/json-stringify-safe oauth-sign@0.9.0 /root/node_modules/oauth-sign performance-now@2.1.0 /root/node_modules/performance-now qs@6.5.2 /root/node_modules/qs tough-cookie@2.5.0 /root/node_modules/tough-cookie psl@1.8.0 /root/node_modules/psl uuid@3.4.0 /root/node_modules/uuid xml2js@0.4.23 /root/node_modules/xml2js xmlbuilder@11.0.1 /root/node_modules/xmlbuilder root@Bridge:~#
-
Node: von v10.20.1 auf v12.16.3 update per Manager "n"
Falsch. Bitte node auf debian per nodesource-Repo installieren.
Und root-login ist auch falsch.
Und du stehst in den falschen Verzeichnissen.
Kein Wunder beim root-login. -
Okay - werde ich heute versuchen
-
Ihr seid die Besten. Vielen Dank
Es läuft wieder als wie es soll -
@Thomas-Braun Ich kann es einfach nicht mehr hören.Warum ist root-login falsch? Mein System wurde vor 2 Jahren installiert und da war sehr wohl nötig sich mit root anzumelden. Alle Befehle wurden mit rootlogin ausgeführt. und dies tue ich auch noch bis heute. Oder sollte ich extra alles neu aufsetzten und dann als normaler user installieren. 1 wäre das zu umständlich. 2. Weiß ich gar nicht ob ich ein normalen user angelegt habe und das dazugehörige Passwort schon gar nicht. Doch das könnte ich wissen habe ja für alles nur ein Passwort 123456 das wird dann schon passen nur den usernamen weiß ich nicht.
-
@ostseereiter sagte in Zigbee-Adapter auf ROT nach Update auf Node 12 LTS:
Warum ist root-login falsch?
Weil Debian "seit ewigen Zeiten" vom Rechtemanagement her so angelegt ist und diverse Systemdienste und skripte usw. es so erwarten.
root ist eigentlich bei Debian aus Gründen auf Eis gelegt.
Eine root-shell läuft z. B. mit anderen Umgebungsvariablen. Kann man z. B an $PATH sehen:pi@raspberrypi:~ $ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games pi@raspberrypi:~ $ sudo whoami root pi@raspberrypi:~ $ sudo echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games pi@raspberrypi:~ $ sudo su - root@raspberrypi:~# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Du siehst also, in einer root shell tickt der user root anders.
Darüber hinaus rasseln unbedacht ausgeführte Befehle direkt auf Systemebene durch und werden nicht durch das Rechtesystem abgefangen.
Du solltest also nur ganz gezielt und kurzfristig in die root-Rolle wechseln. Und das geht superkomfortabel halt mit 'sudo' aus der User-Umgebung heraus.
Wenn der Threadstarter nicht root gewesen wäre, hätte er auch sein node nie in /root klatschen können.
Für weitere Gründe gegen eine root shell empfehle ich die Debian User Group. -
@ostseereiter sagte in Zigbee-Adapter auf ROT nach Update auf Node 12 LTS:
@Thomas-Braun Ich kann es einfach nicht mehr hören.Warum ist root-login falsch? Mein System wurde vor 2 Jahren installiert und da war sehr wohl nötig sich mit root anzumelden. Alle Befehle wurden mit rootlogin ausgeführt. und dies tue ich auch noch bis heute.
Warum ist das heutzutage nicht mehr gut ?
- der ioBroker läuft auf neueren Installationen nicht mehr als root
- befehle wie npm rebuild als root können dafür sorgen das vom ioBroker u.U. Adapter nicht aktualisiert werden können weil die Rechte fehlen
- zumindest die aussage zum falschen Verzeichnis ist auf jeden Fall korrekt.
Wenn das bei dir nicht so ist, und du damit zurecht kommst, dann musst du das nicht ändern. Sich darüber beschweren das als Standardantwort "root user ist wahrscheinlich falsch" kommt wenn es um Probleme tief unten im ioBroker gibt ist meiner Meinung nach aber nicht angebracht.
-
@Asgothian das meinte ich ja neueren Installationen was ist auf älteren zu wie bei mir?
-
@ostseereiter Wie alt ist denn das System bei dir? Wie gesagt, Debian hat das vor Äonen mit 'sudo' umgesetzt. (Nach hitzigen Diskussionen, wie ich mich erinner.)
-
@Thomas-Braun es ist schon richtig wenn ich das ganze im falschen Verzeichnis ausführe ist das natürlich doof. Das ist auch immer meine Angst jedesmal obwohl ich weiß wo ich dies machen muss. Und alles neu zu installieren is im Moment bei mir noch nicht angesagt.
-
@ostseereiter Aber einen user als 'sudoer' ist in 2 Sekunden angelegt.
Wer spricht denn von Neuinstallation? Einfach das userkonzept so wie vorgesehen nutzen, dann passt das schon. -
@Thomas-Braun 2 oder 3 jahre
ich war einer von den 1 mit Iobroker wo es so langsam losging der Hypee. -
@ostseereiter Vor 2-3 Jahren hat ein Debian schon mindestens 10 Jahre so getickt.
-
@Thomas-Braun ja aber du kannst dir mit sudo auch alles abschießen
-
@Thomas-Braun ich meinte ja auch den iobroker
-
@ostseereiter Stimmt. Deswegen setzt man ja 'sudo' bewusst vor die Befehle. Damit man drüber stolpert und nachdenken kann.
In einer rootshell ist die Chance nicht da. Und gerade Anfänger verheddern sich dann als root im Fundament des Systems. -
@Thomas-Braun ja stimmt
-
@ostseereiter Ich weiß nicht wie ioBroker damals angelegt war. Aber paket-Installationen (wie hier in dem Fall) hat man auch damals mit 'sudo apt-get* und nicht in einer root-shell erledigt.
-
@Thomas-Braun richtig
-
@ostseereiter Jedenfalls sorgt ein volles login als root gerne für noch mehr Probleme bei Startern als sie ohnehin schon haben. Und deswegen werde ich auch nicht müde darauf hinzuweisen (tw. recht deutlich), dass es unnötiger Unfug ist.