NEWS
Cannot find module '@iobroker/types'
-
Systemdata Hardwaresystem: PI4 Arbeitsspeicher: 4GB Festplattenart: SD-Karte/SSD/HDD Betriebssystem: Raspian Node-Version: v14.17.3 Nodejs-Version: v14.21.3 NPM-Version: 6.14.13 Installationsart: Skript Image genutzt: Nein Ort/Name der Imagedatei: Link Mein IoBroker Admin startet nicht mehr. Die einige Plugins scheinen aber noch zu laufen.
iobroker fix hat nicht geholfen.Im Log finde ich folgenden Fehler:
2023-08-07 22:56:24.758 - [32minfo[39m: host.raspberrypi instance system.adapter.admin.0 started with pid 8312 2023-08-07 22:56:26.597 - [31merror[39m: host.raspberrypi Caught by controller[0]: node:internal/modules/cjs/loader:1042 2023-08-07 22:56:26.597 - [31merror[39m: host.raspberrypi Caught by controller[0]: throw err; 2023-08-07 22:56:26.598 - [31merror[39m: host.raspberrypi Caught by controller[0]: ^ 2023-08-07 22:56:26.598 - [31merror[39m: host.raspberrypi Caught by controller[0]: Error: Cannot find module '@iobroker/types' 2023-08-07 22:56:26.598 - [31merror[39m: host.raspberrypi Caught by controller[0]: Require stack: 2023-08-07 22:56:26.598 - [31merror[39m: host.raspberrypi Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.admin/node_modules/@iobroker/adapter-core/build/index.js 2023-08-07 22:56:26.598 - [31merror[39m: host.raspberrypi Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.admin/main.js 2023-08-07 22:56:26.598 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module._resolveFilename (node:internal/modules/cjs/loader:1039:15) 2023-08-07 22:56:26.598 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module._load (node:internal/modules/cjs/loader:885:27) 2023-08-07 22:56:26.599 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1105:19) 2023-08-07 22:56:26.599 - [31merror[39m: host.raspberrypi Caught by controller[0]: at require (node:internal/modules/cjs/helpers:103:18) 2023-08-07 22:56:26.599 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.admin/node_modules/@iobroker/adapter-core/build/index.js:21:1) 2023-08-07 22:56:26.599 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module._compile (node:internal/modules/cjs/loader:1218:14) 2023-08-07 22:56:26.599 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module._extensions..js (node:internal/modules/cjs/loader:1272:10) 2023-08-07 22:56:26.599 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module.load (node:internal/modules/cjs/loader:1081:32) 2023-08-07 22:56:26.600 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module._load (node:internal/modules/cjs/loader:922:12) 2023-08-07 22:56:26.601 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1105:19) { 2023-08-07 22:56:26.601 - [31merror[39m: host.raspberrypi Caught by controller[0]: code: 'MODULE_NOT_FOUND', 2023-08-07 22:56:26.601 - [31merror[39m: host.raspberrypi Caught by controller[0]: requireStack: [ 2023-08-07 22:56:26.601 - [31merror[39m: host.raspberrypi Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.admin/node_modules/@iobroker/adapter-core/build/index.js', 2023-08-07 22:56:26.601 - [31merror[39m: host.raspberrypi Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.admin/main.js' 2023-08-07 22:56:26.602 - [31merror[39m: host.raspberrypi Caught by controller[0]: ] 2023-08-07 22:56:26.602 - [31merror[39m: host.raspberrypi Caught by controller[0]: } 2023-08-07 22:56:26.602 - [31merror[39m: host.raspberrypi Caught by controller[0]: Node.js v18.13.0 2023-08-07 22:56:26.602 - [31merror[39m: host.raspberrypi instance system.adapter.admin.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
Jemand eine Idee wie ich es wieder zum laufen bekomme?
-
-
@00000x sagte in Cannot find module '@iobroker/types':
Node-Version:
v14.17.3Nodejs-Version:
v14.21.3NPM-Version:
6.14.13Da stimmt doch schon etwas nicht.
-
Das Problem liegt an NPM 6. npm 6 installiert peer dependencies nicht. Bei adaptern die bereits adapter-core 3.x.x benutzen wird @iobroker/types daher nicht installiert und fehlt.
Node 14 ist allerdings nicht mehr supported. Aktualisisere node auf >=16 und installiere den Adapter neu.
-
@mcm57 @mcm57
Da stimmt aber offenbar noch mehr nicht:
2023-08-07 22:56:26.602 - [31merror[39m: host.raspberrypi Caught by controller[0]: Node.js v18.13.0
Wo kommt die 18.13.0 nun her?
Dringend die Installation von nodejs prüfen, da scheint mir einiges schief zu hängen. -
@thomas-braun
Ok und keine Ahnung.
Ich bin von den Versionen im ersten Posting ausgegangen.Es ist so, dass adapter-core 3.x.x (konkret und aktuell 3.0.3) nun peerDependency nutzt um @iobroker/types einzubinden. Allerdings werden peer dependencies erst ab npm 7 (d.h. de facto ab node 18) im Bedarfsfall automatisch installiert.
Dies ist zumindest mein Wissensstand. Im Bedarfsfall foxriver76 pingen der weiß da genauer Bescheid.
-
@mcm57
Eigentlich kein Problem, lautet die aktuelle Empfehlung doch ohnehin auf nodejs@18 zu fahren. Wer der Empfehlung nicht folgt muss halt mit den Auswirkungen leben.
-
@thomas-braun
Wir aber auch -
@mcm57
Man könnte ja überlegen nodejs@18 als minimal Voraussetzung zu definieren.
-
@thomas-braun
16 würde reichen.
Nur müsste das jeder adapter machen wenn ich es richtigcverstanden habe.Ist aber etwas das ggF mit foxriver76 besser zu besprechen wäre. Ich weiss zu wenig wo wer welche dependencies checkt.
-
@mcm57 sagte in Cannot find module '@iobroker/types':
Nur müsste das jeder adapter machen wenn ich es richtigcverstanden habe.
Wenn die Dependency in einen der zentralen Adapter (js-controller oder admin) reingezogen wird haste alles andere gleich mit abgedeckt.
-
Nicht wirklich.
Weil wenn heute adapter xyz aktualisiert wird benötigt der weder einen neuen Admin noch js-controller 5. Trotzdem kann er adapter-core 3.0.3 beinhalgen und daher npm6 nicht vertragen. -
@mcm57
Naja, man könnte aber halt dennoch durch 'sanften Druck' an einem core adapter insgesamt eine stärkere Verbreitung von nodejs > 16 forcieren.
Sollte man auch imho, nodejs@16 verliert in wenigen Wochen den Support vom Projekt. -
======================= SUMMARY ======================= v.2023-04-16 Operatingsystem: Raspbian GNU/Linux 10 (buster) Kernel: 5.10.103-v7l+ Installation: Native Timezone: Europe/Berlin (CEST, +0200) User-ID: 1000 X-Server: false Boot Target: graphical.target Pending OS-Updates: 0 Pending iob updates: 8 Nodejs-Installation: /usr/bin/nodejs v14.21.3 /home/pi/.nvm/versions/node/v14.17.3/bin/node v14.17.3 /home/pi/.nvm/versions/node/v14.17.3/bin/npm 6.14.13 /home/pi/.nvm/versions/node/v14.17.3/bin/npx 6.14.13 Recommended versions are nodejs 18.x.y and npm 9.x.y *** nodejs is NOT correctly installed *** MEMORY: total used free shared buff/cache available Mem: 3.8G 1.2G 1.1G 26M 1.5G 2.6G Swap: 99M 0B 99M Total: 3.9G 1.2G 1.2G Active iob-Instances: 16 Active repo(s): beta ioBroker Core: js-controller 5.0.11 admin 6.6.5 ioBroker Status: iobroker is running on this host. Objects type: jsonl States type: jsonl Status admin and web instance: system.adapter.admin.0 : admin : raspberrypi - enabled, port: 8081, bind: 0.0.0.0, run as: admin Objects: 10802 States: 6279 Size of iob-Database: 21M /opt/iobroker/iobroker-data/objects.jsonl 6.1M /opt/iobroker/iobroker-data/objects.json.migrated 6.1M /opt/iobroker/iobroker-data/objects.json.bak.migrated 12K /opt/iobroker/iobroker-data/objects.json.old 2.4M /opt/iobroker/iobroker-data/states.jsonl 2.0M /opt/iobroker/iobroker-data/states.json.old 636K /opt/iobroker/iobroker-data/states.json.migrated 636K /opt/iobroker/iobroker-data/states.json.bak.migrated 0 /opt/iobroker/iobroker-data/states.json.broken =================== END OF SUMMARY ====================
Also muss ich nodeJS neu installieren?
-
@00000x sagte in Cannot find module '@iobroker/types':
Nodejs-Installation: /usr/bin/nodejs v14.21.3
/home/pi/.nvm/versions/node/v14.17.3/bin/node v14.17.3
/home/pi/.nvm/versions/node/v14.17.3/bin/npm 6.14.13
/home/pi/.nvm/versions/node/v14.17.3/bin/npx 6.14.13steinalt und dazu noch Betauser ???
@00000x sagte in Cannot find module '@iobroker/types':
js-controller 5.0.11
warum ?
-
@00000x sagte in Cannot find module '@iobroker/types':
buster
Tot, Nachfolger installieren, wenn möglich in der 64Bit-Version.
Und nodejs wird immer per systemeigenen Paketmanager installiert, nie per
n
,nvm
oder wie die Dinger auch alle heißen mögen.Ob Active repo(s): beta das richtige Repo für dich ist wage ich auch zu bezweifeln.
-
Bin nun auf 18 und 9.
Nodejs-Installation: /usr/bin/nodejs v18.17.0 /home/pi/.nvm/versions/node/v14.17.3/bin/node v14.17.3 /usr/local/bin/npm 9.6.7 /usr/local/bin/npx 9.6.7
Immer noch gleich der Fehler:
2023-08-08 18:58:45.363 - [32minfo[39m: host.raspberrypi instance system.adapter.admin.0 started with pid 1380 2023-08-08 18:58:48.988 - [31merror[39m: host.raspberrypi Caught by controller[0]: node:internal/modules/cjs/loader:1080 2023-08-08 18:58:48.989 - [31merror[39m: host.raspberrypi Caught by controller[0]: throw err; 2023-08-08 18:58:48.990 - [31merror[39m: host.raspberrypi Caught by controller[0]: ^ 2023-08-08 18:58:48.990 - [31merror[39m: host.raspberrypi Caught by controller[0]: Error: Cannot find module '@iobroker/types' 2023-08-08 18:58:48.991 - [31merror[39m: host.raspberrypi Caught by controller[0]: Require stack: 2023-08-08 18:58:48.991 - [31merror[39m: host.raspberrypi Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.admin/node_modules/@iobroker/adapter-core/build/index.js 2023-08-08 18:58:48.991 - [31merror[39m: host.raspberrypi Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.admin/main.js 2023-08-08 18:58:48.992 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15) 2023-08-08 18:58:48.992 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module._load (node:internal/modules/cjs/loader:922:27) 2023-08-08 18:58:48.992 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1143:19) 2023-08-08 18:58:48.993 - [31merror[39m: host.raspberrypi Caught by controller[0]: at require (node:internal/modules/cjs/helpers:110:18) 2023-08-08 18:58:48.993 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.admin/node_modules/@iobroker/adapter-core/build/index.js:21:1) 2023-08-08 18:58:48.993 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module._compile (node:internal/modules/cjs/loader:1256:14) 2023-08-08 18:58:48.994 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module._extensions..js (node:internal/modules/cjs/loader:1310:10) 2023-08-08 18:58:48.994 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module.load (node:internal/modules/cjs/loader:1119:32) 2023-08-08 18:58:48.994 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module._load (node:internal/modules/cjs/loader:960:12) 2023-08-08 18:58:48.994 - [31merror[39m: host.raspberrypi Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1143:19) { 2023-08-08 18:58:48.995 - [31merror[39m: host.raspberrypi Caught by controller[0]: code: 'MODULE_NOT_FOUND', 2023-08-08 18:58:48.995 - [31merror[39m: host.raspberrypi Caught by controller[0]: requireStack: [ 2023-08-08 18:58:48.995 - [31merror[39m: host.raspberrypi Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.admin/node_modules/@iobroker/adapter-core/build/index.js', 2023-08-08 18:58:48.995 - [31merror[39m: host.raspberrypi Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.admin/main.js' 2023-08-08 18:58:48.996 - [31merror[39m: host.raspberrypi Caught by controller[0]: ] 2023-08-08 18:58:48.996 - [31merror[39m: host.raspberrypi Caught by controller[0]: } 2023-08-08 18:58:48.996 - [31merror[39m: host.raspberrypi Caught by controller[0]: Node.js v18.17.0 2023-08-08 18:58:48.997 - [31merror[39m: host.raspberrypi instance system.adapter.admin.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
-
@00000x sagte in Cannot find module '@iobroker/types':
Bin nun auf 18 und 9.
Nein.
Lies bitte die Aufräum-Anleitung aus meiner Signatur. -
@00000x
Hast du den Adapter NACH dem npm Upgrade neu installiert ? -
@mcm57
Du meinst NACH dem Aufräumen und Geraderücken?