NEWS
js-controller 4.0 jetzt im BETA/LATEST!
-
@m0rph Ganz langsam ... wir schauen schon. Sagst du mir noch welche Ausgaben die Kommandos bringen?
-
@ofbeqnpolkkl6mby5e13 Oder hier attachen als FIle ... oder email ... mir egal iobroker@fischer-ka.de
-
Hi,
gerade meinen Master von 4.0.3 auf 4.0.5 upgedatet. Im Start log diese Zeile bekommen:
2022-02-09 18:14:27.624 - error: javascript.0 (16362) In file included from ../src/binding.cc:6: /home/iobroker/.cache/node-gyp/14.19.0/include/node/node.h:793: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), \ ^ /home/iobroker/.cache/node-gyp/14.19.0/include/node/node.h:827:3: note: in expansion of macro 'NODE_MODULE_X' NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/binding.cc:2003:1: note: in expansion of macro 'NODE_MODULE' NODE_MODULE(sshcrypto, init) ^~~~~~~~~~~
Ich kann aber ehrlich nicht sagen ob es schon vorher vorhanden war oder erst mit 4.0.5 gekommen ist.
Beim Update meines Slaves von 4.0.3 auf 4.0.5 kommt das:
pi@pi-iobroker:~ $ iob stop pi@pi-iobroker:~ $ iob update Used repository: Beta (latest) Adapter "admin" : 5.2.3 , installed 5.2.3 Adapter "discovery" : 2.7.5 , installed 2.7.5 Adapter "javascript" : 5.2.21 , installed 5.2.21 Controller "js-controller": 4.0.5 , installed 4.0.3 [Updatable] Adapter "modbus" : 3.4.17 , installed 3.4.17 Adapter "net-tools" : 0.1.7 , installed 0.1.7 Adapter "rpi2" : 1.3.1 , installed 1.3.1 Adapter "smartmeter" : 3.2.1 , installed 3.2.1 Adapter "terminal" : 0.1.2 , installed 0.1.2 Adapter "tr-064" : 4.2.15 , installed 4.2.15 pi@pi-iobroker:~ $ iob upgrade self Update js-controller from @4.0.3 to @4.0.5 NPM version: 6.14.16 Installing iobroker.js-controller@4.0.5... (System call) Could not check npm version: This directory tree does not contain a package.json Assuming that correct version is installed.
pi@pi-iobroker:/opt/iobroker $ which nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs /usr/bin/nodejs /usr/bin/node /usr/bin/npm v14.19.0 v14.19.0 6.14.16 pi /opt/iobroker OK:1 http://archive.raspberrypi.org/debian buster InRelease OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:3 https://deb.nodesource.com/node_14.x buster InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Aktualisierung für 1 Paket verfügbar. Führen Sie »apt list --upgradable« aus, um es anzuzeigen. nodejs: Installiert: 14.19.0-deb-1nodesource1 Installationskandidat: 14.19.0-deb-1nodesource1 Versionstabelle: *** 14.19.0-deb-1nodesource1 500 500 https://deb.nodesource.com/node_14.x buster/main armhf Packages 100 /var/lib/dpkg/status 10.24.0~dfsg-1~deb10u1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
Der zweite Slave sieht da schon besser aus:
pi@iobroker-garage-gross:~ $ iob upgrade self Update js-controller from @4.0.3 to @4.0.5 NPM version: 6.14.16 Installing iobroker.js-controller@4.0.5... (System call) > iobroker.js-controller@4.0.5 preinstall /opt/iobroker/node_modules/iobroker.js-controller > node lib/preinstallCheck.js NPM version: 6.14.16 > iobroker.js-controller@4.0.5 install /opt/iobroker/node_modules/iobroker.js-controller > node iobroker.js setup first object _design/system updated { "defaultPrivate": "-----BEGIN RSA PRIVATE KEY-----\r\nMIIxxxgNq\r\n-----END RSA PRIVATE KEY-----\r\n", "defaultPublic": "-----BEGIN CERTIFICATE-----\r\nMIIxxxxx7aoggoSbkXD/Q\r\nHToWvyBM/KL37ZMRJ/M=\r\n-----END CERTIFICATE-----\r\n" } Update certificate defaultPrivate The object "system.certificates" was updated successfully. Update certificate defaultPublic The object "system.certificates" was updated successfully. + iobroker.js-controller@4.0.5 removed 75 packages and updated 25 packages in 53.294s 32 packages are looking for funding run `npm fund` for details
Zweiter Slave lies sich Problemlos updaten.
Was kann/soll ich bei dem ersten Slave machen/probieren ausser der Holzhammer Methode?
-
-
@arteck iob befehle lassen sich eigentlich von überall ausführen wie man am zweiten Slave sehen kann, aber bitte:
pi@pi-iobroker:/opt/iobroker $ iob upgrade self Update js-controller from @4.0.3 to @4.0.5 NPM version: 6.14.16 Installing iobroker.js-controller@4.0.5... (System call) Could not check npm version: This directory tree does not contain a package.json Assuming that correct version is installed.
-
-
@arteck Ja. Leider keine Änderung.
-
@apollon77 hatte die selben Fehler wie @Diginix, scheint also nicht unbedingt einmalig zu sein.
santa@ubuntuserver:/opt/iobroker$ iob upgrade self Update js-controller from @3.3.22 to @4.0.5 NPM version: 6.14.16 npm install iobroker.js-controller@4.0.5 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) In file included from ../../nan/nan.h:56, from ../src/unix_dgram.cc:5: /home/iobroker/.cache/node-gyp/14.19.0/include/node/node.h:793:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] 793 | (node::addon_register_func) (regfunc), \ | ^ /home/iobroker/.cache/node-gyp/14.19.0/include/node/node.h:827:3: note: in expansion of macro ‘NODE_MODULE_X’ 827 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) | ^~~~~~~~~~~~~ ../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’ 404 | NODE_MODULE(unix_dgram, Initialize) | ^~~~~~~~~~~ Server Objects 127.0.0.1:47886 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"] Server States 127.0.0.1:41258 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"] Server Objects 127.0.0.1:47886 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"] Server States 127.0.0.1:41260 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"] Server Objects 127.0.0.1:47886 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:47886 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:47886 Error from InMemDB: Error: Unknown LUA script load Server Objects 127.0.0.1:47886 Error from InMemDB: Error: SET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets",{"type":"Buffer","data":[49]}] Could not migrate objects to corresponding sets: Error SET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets",{"type":"Buffer","data":[49]}]
-
@apollon77 sagte in js-controller 4.0 jetzt im BETA/LATEST!:
@alligator Und was hast Du genau getan?
Kann ich gar nicht genau sagen, hab's mehrfache versuche mit "iob fix" / "reboot" und "npm install iobroker.js-controller@3.3.22" in unterschiedlicher Reihenfolge. Und irgend wann hat es dann mit dem Downgrade geklappt. Sorry das ich es nicht genauer beschreiben kann.
Ich habe jetzt nochmal auf JS-C 4.0.5 geupdatet und wieder mit dem gleichen Erfolg das beim Update oder Downgrade die Meldung kommt:
Could not check npm version: This directory tree does not contain a package.json Assuming that correct version is installed.
und ein Up oder Downgrade von Adaptern nicht möglich ist.
Bei der Eingabe "whitch npm" kommt bei beiden JS-C Versionen (3.3.22 sowie 4.0.5) immer:
"/usr/local/bin/npm"
Ein nvm oder sowas nutze ich soweit ich weiß nicht. Wie kann ich das feststellen?
Ein Downgrade von 4.0.5 auf 3.3.22 hat jetzt aber ohne Probleme Funktioniert.
-
@alligator sagte in js-controller 4.0 jetzt im BETA/LATEST!:
"/usr/local/bin/npm"
Das ist der bekannte falsche Pfad. Schau in meiner Signatur wie man nodejs und npm sauber aufsetzt.
-
@apollon77 6.14.16
-
Hi,
die NPM package.json nicht gefunden Fehler werden in der kommenden 4.0.6 behoben sein
-
@e-s SInd halt die üblichen unix_dgram Compile Warnungen ...
-
Hi All,
vielen Dank für Euren Support, die 4.0.6 kommt über Nacht wieder ins Repo und hat:
4.0.6 (2022-02-09)
- (AlCalzone) Optimize some JSONL cases
- (foxriver76) Optimize Backup restore process
- (AlCalzone) Fix issues that prevented adapter installs/updates (npm can not be located error message)
- (Apollon77) Fix seq Logging issue
- (foxriver76/Apollon77) Prevent several crash cases seen in Sentry
-
Fix issues that prevented adapter installs/updates (npm can not be located error message)
Das finde ich interessant. Was war da der Grund das npm nicht im $PATH gefunden wurde?
-
@apollon77 update von 4.0.5 auf 4.0.6 ohne besondere Vorkommnisse.
-
@apollon77
Ist da mein Fall auch mit abgedeckt? -
@ofbeqnpolkkl6mby5e13 das logfile hatte nicht mehr Infos drin. Von daher puuhhh. Ich sag mal so; Versuchs nochmal.
-
# iobroker upgrade self Update js-controller from @3.3.22 to @4.0.6 NPM version: 6.14.16 npm install iobroker.js-controller@4.0.6 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) Uncaught Rejection: TypeError: Cannot read property '_id' of null at /opt/iobroker/node_modules/@iobroker/db-objects-redis/lib/objects/objectsInRedisClient.js:3421:42 at Array.map (<anonymous>) at ObjectsInRedisClient._applyViewFunc (/opt/iobroker/node_modules/@iobroker/db-objects-redis/lib/objects/objectsInRedisClient.js:3413:39) at processTicksAndRejections (internal/process/task_queues.js:95:5) npm ERR! code ELIFECYCLE npm ERR! errno 6 npm ERR! iobroker.js-controller@4.0.6 install: `node iobroker.js setup first` npm ERR! Exit status 6 npm ERR! npm ERR! Failed at the iobroker.js-controller@4.0.6 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! /opt/iobroker/.npm/_logs/2022-02-10T06_53_37_143Z-debug.log host.iobroker Cannot install iobroker.js-controller@4.0.6: 6
Hilft das?:
npm info lifecycle iobroker.js-controller@4.0.6~install: iobroker.js-controller@4.0.6 > iobroker.js-controller@4.0.6 install /opt/iobroker/node_modules/iobroker.js-controller > node iobroker.js setup first Uncaught Rejection: TypeError: Cannot read property '_id' of null at /opt/iobroker/node_modules/@iobroker/db-objects-redis/lib/objects/objectsInRedisClient.js:3421:42 at Array.map (<anonymous>) at ObjectsInRedisClient._applyViewFunc (/opt/iobroker/node_modules/@iobroker/db-objects-redis/lib/objects/objectsInRedisClient.js:3413:39) at processTicksAndRejections (internal/process/task_queues.js:95:5) npm info lifecycle iobroker.js-controller@4.0.6~install: Failed to exec install script
-
@thomas-braun Wir verwenden seit 4.x (m)eine Library, die sich um die Aufrufe vom Paketmanager kümmert. Mein Hintergedanke ist, dass wir dann irgendwann ohne großen Ärger zu einem anderen wechseln können, der nicht jedes halbe Jahr alles anders macht und unsere Installation breakt.
Die Library sucht eigentlich vom aktuellen Pfad (bzw. da wo die .js-Datei liegt) aus nach einem lockfile (z.B. package-lock.json), um den aktiven Paketmanager zu bestimmen. Bei einigen Usern existiert das nicht.