ioBroker / ioBroker.javascript

Script engine for JavaScript and Blockly
MIT License
323 stars 118 forks source link

/opt/iobroker/node_modules/iobroker.javascript/node_modules/ ist leer #1146

Open MarkSau opened 1 year ago

MarkSau commented 1 year ago

Hi.. Es ist mir aufgefallen, weil eines meiner Scripte das Modul "image-downloader" nicht mehr findet. Jetzt habe ich die Ursache: Das Verzeichniss /opt/iobroker/node_modules/iobroker.javascript/node_modules ist fast leer. Alle Module sind verschwunden!?

image

Nach einem Neustart des javascript Adapters sieht es dann so aus:

image und viel mehr

Hier der Log des Restarts. iobroker.log

Apollon77 commented 1 year ago

Was hast du denn getan bevor es leer wurde? Beimrestart werden ggf alle Module neue installiert, daher kommen Sie wieder.

MarkSau commented 1 year ago

ich habe in den Logs geschaut...Standardsatz. In dem Bereich nichts...irgendwann einen Neustart, ob iobroker oder javascript ist dabei egal. Dann laufen die Scripte und tun das was sie sollen. D.h. auch die, die das Modul "image-downloader" nutzen. Dann 1-2 Tage später meldet javascript dass das Modul "image-downloader" nicht existiert. Dann ist das Verzeichnis ist leer. bis zum Restart.

Apollon77 commented 1 year ago

Machst Du irgendwas mit npm? Neue Adapter installieren? Was? UPdaten? Bitte beobachten wann es passiert

MarkSau commented 1 year ago

iob läuft mit der Beta Liste und die Updates werden immer via GUI oder "iob upgrade" installiert. Allein Jarvis wird via github im gui upgedated.

Apollon77 commented 1 year ago

Bitte beobachten wann es passiert. Ist bisher noch nicht berichtet worden

MarkSau commented 1 year ago

Bitte beobachten wann es passiert. Ist bisher noch nicht berichtet worden

Jetzt ist es passiert. Als ich den Update von JarvisAlpha45 auf Alpha46 angestoßen habe. Hat das dann mit dem RFC zu tun und sollte ich ein Issue bei Jarvis öffnen?

Apollon77 commented 1 year ago

welche npm version hast du?

MarkSau commented 1 year ago

npm 8.18.0 Node v16.17.0

MarkSau commented 1 year ago

ich könnte es jetzt wieder provozieren, eine neue Version von Jarvis steht an. Kann ich irgendwo etwas debuggen?

MarkSau commented 1 year ago

Habe gerade mal über github den Heizöl Adapter installiert. Auch da passiert es, die Verzeichnisse sind weg. Liegt also nicht an Jarvis.

Apollon77 commented 1 year ago

Zeig bitte mal deine /opt/iobroker/package.json und die Liste der eigenen JavaScript NPM Pakete

MarkSau commented 1 year ago

package.json.txt

Apollon77 commented 1 year ago

Die "Preisfrage" wäre jetzt ob das nur passiert wenn Du GitHub installierst oder auch bei normalen npm updates. Genau die beiden die Du oben nennst sind laut der package-lock github installs

MarkSau commented 1 year ago

Habe Jarvis gerade mal anstatt Github via NPM upgedated..Gleiches Phänomen

MarkSau commented 1 year ago

habe testweise einfach mal den trashschedule adapter "normal" neu hinzugefügt..und auch hier tritt das auf.

MarkSau commented 1 year ago

auch beim deinstallieren des Adapters.

Apollon77 commented 1 year ago

:-(

MarkSau commented 1 year ago

Könnte das passen im NPM Github Issue19450? Nur was ist die Lösung?

Glasfaser-io commented 1 year ago

Deine : npm 8.18.0 wurde händisch von dir auf diese Version hochgezogen. Aktuell ist : grafik

überprüfe deine NodeJS installation .

MarkSau commented 1 year ago

auch mit NPM 8.15.0 das gleiche Spiel. Erneute Installation eines Adapters

$ iobroker add trashschedule auto --host MSNUC-IOB --debug

NPM version: 8.15.0Installing iobroker.trashschedule@2.0.3... (System call)

added 1 package, removed 94 packages, and changed 1 package in 12s75 packages are looking for funding run `npm fund` for details

host.MSNUC-IOB install adapter trashschedule

Warum removed ein Install eines Adapters 94 Pakete?

MarkSau commented 1 year ago

Habe javascript neu gestartet. Dann sind die wieder da. Aber beim Löschen des Adapters werden wieder 95 entfernt:

$ iobroker del trashschedule --debug

Delete adapter "trashschedule"

host.MSNUC-IOB Counted 1 instances of trashschedule

host.MSNUC-IOB Counted 1 meta of trashschedule

host.MSNUC-IOB Counted 1 adapter for trashschedule

host.MSNUC-IOB Counted 9 channels of trashschedule

host.MSNUC-IOB Counted 53 states of trashschedule

host.MSNUC-IOB Counted 15 states of system.adapter.trashschedule

host.MSNUC-IOB Counted 6 states (io.trashschedule.*) from states

host.MSNUC-IOB Counted 16 states (system.adapter.trashschedule.*) from states

host.MSNUC-IOB Counted 1 objects of trashschedule

host.MSNUC-IOB file vis/widgets/trashschedule deleted

host.MSNUC-IOB file vis/widgets/trashschedule.html deleted

host.MSNUC-IOB object trashschedule deleted

host.MSNUC-IOB object trashschedule.admin deletedhost.MSNUC-IOB Deleting 81 object(s).

host.MSNUC-IOB Deleting 22 state(s).

removed 95 packages, and changed 1 package in 8s

75 packages are looking for funding run `npm fund` for details

Adapter "system.adapter.vis.0" restarted.

Process exited with code 0
Glasfaser-io commented 1 year ago

Warum removed ein Install eines Adapters 94 Pakete?

Mache mal ein : npm prune

das Thema das hatten wir hier : https://forum.iobroker.net/topic/58181/npm-entfernt-und-%C3%A4ndert-bei-jedem-vorgang-unz%C3%A4hlige-pakete

MarkSau commented 1 year ago
root@MSNUC-IOB:/opt/iobroker# sudo npm prune

removed 94 packages, and changed 1 package in 11s

75 packages are looking for funding
  run `npm fund` for details
root@MSNUC-IOB:/opt/iobroker#

???

MarkSau commented 1 year ago
root@MSNUC-IOB:/opt/iobroker# cd /opt/iobroker
npm ls | grep -E 'github.com|ERR'
+-- iobroker.heizoel@1.0.3 (git+ssh://git@github.com/TA2k/ioBroker.heizoel.git#24ad6c4e7b4efd19d6b9423c3d9d12e5a6a279b9)
+-- iobroker.jarvis@3.1.0-alpha.47 (git+ssh://git@github.com/Zefau/ioBroker.jarvis.git#feb7a28bf846b571b086555cf7a4389d262537af)
root@MSNUC-IOB:/opt/iobroker#

root@MSNUC-IOB:/opt/iobroker# iobroker update -i
Used repository: beta
Adapter    "admin"        : 6.2.22   , installed 6.2.22
Adapter    "alexa2"       : 3.19.9   , installed 3.19.9
Adapter    "alias-manager": 1.2.6    , installed 1.2.6
Adapter    "backitup"     : 2.4.12   , installed 2.4.12
Adapter    "cloud"        : 4.2.2    , installed 4.2.2
Adapter    "devices"      : 1.0.12   , installed 1.0.12
Adapter    "discovery"    : 3.0.5    , installed 3.0.5
Adapter    "email"        : 1.1.3    , installed 1.1.3
Adapter    "fb-checkpresence": 1.1.20, installed 1.1.20
Adapter    "feiertage"    : 1.1.0    , installed 1.1.0
Adapter    "flot"         : 1.11.0   , installed 1.11.0
Adapter    "fullybrowser" : 2.1.2    , installed 2.1.2
Adapter    "g-homa"       : 0.5.3    , installed 0.5.3
Adapter    "heizoel"      : 1.0.3    , installed 1.0.3
Adapter    "hm-rega"      : 3.0.43   , installed 3.0.43
Adapter    "hm-rpc"       : 1.15.15  , installed 1.15.15
Adapter    "ical"         : 1.13.2   , installed 1.13.2
Adapter    "influxdb"     : 3.2.0    , installed 3.2.0
Adapter    "iot"          : 1.11.9   , installed 1.11.9
Adapter    "jarvis"       : 3.0.13   , installed 3.1.0-alpha.47
Adapter    "javascript"   : 6.0.3    , installed 6.0.3
Controller "js-controller": 4.0.23   , installed 4.0.23
Adapter    "lgtv"         : 1.1.10   , installed 1.1.10
Adapter    "linux-control": 1.1.5    , installed 1.1.5
Adapter    "logparser"    : 1.1.0    , installed 1.1.0
Adapter    "luftdaten"    : 2.2.4    , installed 2.2.4
Adapter    "mqtt-client"  : 1.6.3    , installed 1.6.3
Adapter    "net-tools"    : 0.2.0    , installed 0.2.0
Adapter    "nut"          : 1.5.1    , installed 1.5.1
Adapter    "odl"          : 2.0.5    , installed 2.0.5
Adapter    "parser"       : 1.2.1    , installed 1.2.1
Adapter    "ping"         : 1.5.3    , installed 1.5.3
Adapter    "proxmox"      : 1.3.5    , installed 1.3.5
Adapter    "pushover"     : 3.0.3    , installed 3.0.3
Adapter    "shelly"       : 6.2.0    , installed 6.2.0
Adapter    "simple-api"   : 2.7.1    , installed 2.7.1
Adapter    "smartthings"  : 0.0.3    , installed 0.0.3
Adapter    "socketio"     : 6.1.10   , installed 6.1.10
Adapter    "solarmanpv"   : 0.1.4    , installed 0.1.4
Adapter    "sonoff"       : 2.5.1    , installed 2.5.1
Adapter    "sourceanalytix": 0.4.14  , installed 0.4.14
Adapter    "text2command" : 2.2.2    , installed 2.2.2
Adapter    "tr-064"       : 4.2.17   , installed 4.2.17
Adapter    "traccar"      : 0.0.12   , installed 0.0.12
Adapter    "trashschedule": 2.0.3    , installed 2.0.3
Adapter    "viessmannapi" : 2.0.9    , installed 2.0.9
Adapter    "vis"          : 1.4.15   , installed 1.4.15
Adapter    "web"          : 5.2.5    , installed 5.2.5
Adapter    "wled"         : 0.6.7    , installed 0.6.7
Adapter    "ws"           : 2.1.5    , installed 2.1.5
Adapter    "zigbee"       : 1.7.6    , installed 1.7.6
root@MSNUC-IOB:/opt/iobroker#sudo ln -s /usr/bin/node /usr/bin/nodejs
ln: failed to create symbolic link '/usr/bin/nodejs': File exists
root@MSNUC-IOB:/opt/iobroker#uname -m && type -P nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
x86_64
/usr/bin/nodejs
/usr/bin/node
/usr/bin/npm
v16.17.1
v16.17.1
8.15.0
root
/opt/iobroker
Hit:1 http://de.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://de.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 http://de.archive.ubuntu.com/ubuntu jammy-security InRelease
Hit:4 https://repos.influxdata.com/ubuntu stable InRelease
Hit:5 https://deb.nodesource.com/node_16.x jammy InRelease
Hit:6 https://packages.grafana.com/enterprise/deb stable InRelease
Hit:7 http://de.archive.ubuntu.com/ubuntu jammy-backports InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
20 packages can be upgraded. Run 'apt list --upgradable' to see them.
nodejs:
  Installed: 16.17.1-deb-1nodesource1
  Candidate: 16.17.1-deb-1nodesource1
  Version table:
 *** 16.17.1-deb-1nodesource1 500
        500 https://deb.nodesource.com/node_16.x jammy/main amd64 Packages
        100 /var/lib/dpkg/status
     12.22.9~dfsg-1ubuntu3 500
        500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
root@MSNUC-IOB:/opt/iobroker#
Glasfaser-io commented 1 year ago

Erstmal habe ich nichts von sudo geschrieben. führe ein iobroker fix durch

Zweitens , warum bist du mit "root" angemeldet ... lass das sein , nimm einen User ! Drittens du bist Beta Tester .

Und was ist jetzt mit deinem eigentlichen Problem !?? :

/opt/iobroker/node_modules/iobroker.javascript/node_modules/ ist leer

MarkSau commented 1 year ago

Und was ist jetzt mit deinem eigentlichen Problem !?? :

/opt/iobroker/node_modules/iobroker.javascript/node_modules/ ist leer

siehe oben, in fast allen meinen Posts... Egal was ich mache, die Verzeichnisse /opt/iobroker/node_modules/iobroker.javascript/node_modules/ leeren sich, wenn ich, egal wie, etwas installiere oder deinstalliere... Dabei ist es egal ob, root, sudo, iobroker install usw...

Ich habe ja auch einen Workaround (javascript durchstarten). Wenn es bei mir ein Einzelfall ist, habe ich halt einfach Pech gehabt. Vielleicht, irgendwann, installiere ich einfach alles neu. Aber danke für die Unterstützung...

MarkSau commented 1 year ago

Ich hab da doch mal eine weitere Sache, die ich nicht verstehe. In der /opt/iobroker/package-lock.json scheinen alle installieren Pakete inkl. der Dependencies abgebildet zu sein. Dort steht unter iobroker.javascript "nur" folgendes:

"node_modules/iobroker.javascript": {
      "version": "6.0.3",
      "resolved": "https://registry.npmjs.org/iobroker.javascript/-/iobroker.javascript-6.0.3.tgz",
      "integrity": "sha512-OlXLNidhGViwIZK9JICvfwOkvKU+gQjRm9nYL39ahIFG182i8Anysz7BU7uKcxqeRg5Tks7gOQ2U4YbP0+TcRw==",
      "hasInstallScript": true,
      "dependencies": {
        "@iobroker/adapter-core": "^2.6.6",
        "@types/node": "^14.18.29",
        "@types/request": "^2.48.8",
        "coffeescript": "^1.12.7",
        "jsonata": "^1.8.6",
        "jszip": "^3.10.1",
        "node-inspect": "^2.0.0",
        "node-schedule": "2.1.0",
        "request": "^2.88.2",
        "semver": "^7.3.7",
        "suncalc2": "^1.8.1",
        "typescript": "~4.7.4",
        "virtual-tsc": "^0.6.2",
        "wake_on_lan": "^1.0.0"
      },
      "engines": {
        "node": ">=10.0.0"
      }
    },
    "node_modules/iobroker.javascript/node_modules/@types/node": {
      "version": "14.18.30",
      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.30.tgz",
      "integrity": "sha512-8OEyg4oc/CqN5+LbInKNLA8MfbGzbC+k8lVPePXazuwEVrVeQ9gwMDX00HJwWbC7syc1FWRU6Mow0Lm+mibHAQ=="
    },

Was auch ungefähr dem entspricht, was dann nach einem Install "übrig" bleibt. in den diversen package-lock.json unter /opt/iobroker/node_modules/iobroker.javascript stehen aber erheblich mehr Einträge.

Was mich zum Schluss verleitet, das bei einem npm Install die /opt/iobroker/package-lock.json genommen und abgeglichen wird, in Folge alles überflüssiges entfernt wird.

Vielleicht interpretiere ich das auch einfach falsch.

MarkSau commented 1 year ago

Ich habe mal einen Restore getestet. /opt/iobroker gelöscht iob neu installiert.. iob restore 0 iob start nach automatischer javascript adapter installation erst alles gut, dann kam der nächste dran und schwupp weg waren die files wieder... Was zum Teufel verursacht das?

MarkSau commented 1 year ago

Ich habe noch eine weitere iobroker installation in meinem Wohnwagen. Dort passiert tatsächlich das gleiche.

pi@MSWohni4:~ $ iob upgrade all
Would you like to upgrade text2command from @2.2.2 to @2.3.0 now? [(y)es, (n)o]: y
Update text2command from @2.2.2 to @2.3.0
NPM version: 8.15.0
Installing iobroker.text2command@2.3.0... (System call)

removed 93 packages, and changed 2 packages in 10s

68 packages are looking for funding
  run `npm fund` for details
Update "system.adapter.text2command.0"

Wie man sieht werden auch hier ganze 93 pakete entfernt. Alle aus iobroker.javascript.

Diginix commented 1 year ago

Mein node_modules vom javascript enthält auch nur die paar Ordner: image und die sind fast alle sogar leer.

Und in der /opt/iobroker/node_modules/iobroker.javascript/node_modules/.package-lock.json stehen noch viel mehr drin, die nicht mal als Ordner existieren. Aber am Ende funktioniert alles und das zählt für mich.

@MarkSau Stört dich eigentlich nur das Löschen der Ordner oder gibt es auch echte Probleme mit dem System/Adaptern danach?

MarkSau commented 1 year ago

Mein Problem ist, das ich in einem Skript das npm Paket "image-downloader" nutze. Dieses wird, nach Eintrag im JavaScript Adapter, durch diesen hinzugefügt und steht dann auch ...../iobroker.javascript/node_modules/ und wird vom Skript benutzt. Wenn ich aber irgendeinen Adapter hinzufüge/lösche/update, verschwindet auch das Paket, neben den 96 anderen und kann nicht mehr von meinem Skript benutzt werden, erzeugt dann einen Fehler. Klar, ist ja auch nicht mehr da.

@Diginix Wenn du die JavaScript Instanz mal neu startest, solltest du in dem Verzeichnis wieder ganz viel sehen.

Diginix commented 1 year ago

Ah ok, zusätzliche npm Module nutze ich bisher in keinem Skript. Ein Restart der Instanz ändert nichts am Inhalt des Unterordners node_modules. Es bleiben die 9 Ordner, von denen nur diese Inhalt haben:

MarkSau commented 1 year ago

Ich habe einfach mal eine komplett neu iobroker VM installiert. Javascript hinzugefügt (480 Verzeichnisse in dessen node_modul). Einen Adapater hinzugefügt (Verzeichnisse fast weg). Javascript restart (noch keine weiteren Verzeichnisse) Im javascript "image-downloader" hinzugefügt (97 Verzeichnisse) einen Adapter hinzugefügt (Verzeichnisse wieder weg) Javascript neu gestartet (97 wieder da)

MarkSau commented 1 year ago

Erneuter Versuch. Iobroker gestoppt und /opt/iobroker gelöscht. Dann iob neu installiert.

javascript adapter hinzugefügt ( 475 Verzeichnisse) image

javascript instanz neu gestartet (keine Änderung)

Update des Discovery Adapters ( man beachte die Removed Anzahl)

$ iobroker upgrade discovery@3.0.5

Update discovery from @3.0.3 to @3.0.5

NPM version: 8.15.0

Installing iobroker.discovery@3.0.5... (System call)

removed 647 packages, and changed 2 packages in 7s

run `npm fund` for details

Update "system.adapter.discovery.0"

upload [6] discovery.admin /opt/iobroker/node_modules/iobroker.discovery/admin/discovery.png discovery.png image/png

upload [5] discovery.admin /opt/iobroker/node_modules/iobroker.discovery/admin/index.html index.html text/html

upload [4] discovery.admin /opt/iobroker/node_modules/iobroker.discovery/admin/index_m.html index_m.html text/html

upload [3] discovery.admin /opt/iobroker/node_modules/iobroker.discovery/admin/settings.html settings.html text/html

upload [2] discovery.admin /opt/iobroker/node_modules/iobroker.discovery/admin/settings_m.html settings_m.html text/html

upload [1] discovery.admin /opt/iobroker/node_modules/iobroker.discovery/admin/translateTools.js translateTools.js application/javascript

upload [0] discovery.admin /opt/iobroker/node_modules/iobroker.discovery/admin/words.js words.js application/javascript

Process exited with code 0

javascript verzeichnis ist fast leer

image

Diginix commented 1 year ago

Ohne zusätzliche npm Module passt das mit den 9 Ordner mMn. Und nur wenn du ein zusätzliches Modul (zB image-downloader) in der Instanz einstellst, wird das bei Instanz Restart berücksichtigt und die Abhängigkeiten erfüllt, falls nicht schon vorhanden.

Das Fehlverhalten bei Adapterupdates/Hinzufügen müsste sich @Apollon77 ansehen. Die Anleitung zum Reproduzieren ist nun hinreichend klar.

MarkSau commented 1 year ago

noch ein Zusatz: Nach update eines Adapter sind ja die ~90 Verzeichnisse unter /opt/iobroker/node_modules/iobroker.javascript/node_modules/ bis auf 9 weg. Das betrifft aber nicht nur javascript. Es sind noch mehr Adapter betroffen, die ein node_Modules Verzeichniss enthalten. Ich habe mir mal die Anzahl der Verzeichnisse listen lassen, nach einen beliebigen Adapter Update:

root@MSNUC-IOB:/opt/iobroker/node_modules# find . -type d | wc -l
6512

Dann habe ich mal einen iob rebuild ausgeführt. Die Anzahl hat sich danach deutlich erhöht:

root@MSNUC-IOB:/opt/iobroker/node_modules# find . -type d | wc -l
8067
Apollon77 commented 1 year ago

Wie sieht deine /opt/iobroker/package.json aus?

MarkSau commented 1 year ago

Hier die package.json und auch die package-lock.json package.json.txt package-lock.json.txt

Quarkmax commented 1 year ago

Ich kann das Verhalten bestätigen. Vor einem Adapter-Update/-Installation werden NPM-Module sauber gelistet. Auch mehrere Extraneous-Einträge. Nach dem Update/Installation sind auch die Extraneous-Einträge weg. So, als ob die Adapterinstallation hier prunen würde. Das Verhalten habe ich unter Ubuntu und Debian auf PROXMOX, sowie auf einem RaspberryPI-Image nachstellen können. Jedesmal mit einer frischen Installation aus dem Stable-Repository.

Nach dem hinzufügen von node-ssh pi@raspberrypi:/opt/iobroker $ npm ls iobroker.inst@3.0.0 /opt/iobroker ├── @types/caseless@0.12.2 extraneous ├── @types/request@2.48.8 extraneous ├── @types/tough-cookie@4.0.2 extraneous ├── coffeescript@1.12.7 extraneous ├── iobroker.admin@6.2.23 ├── iobroker.backitup@2.5.4 ├── iobroker.discovery@3.1.0 ├── iobroker.javascript@6.0.3 ├── iobroker.js-controller@4.0.23 ├── jsonata@1.8.6 extraneous ├── minimist@1.2.7 extraneous ├── node-inspect@2.0.0 extraneous ├── picocolors@1.0.0 extraneous ├── suncalc2@1.8.1 extraneous ├── typescript@4.7.4 extraneous ├── virtual-tsc@0.6.2 extraneous └── wake_on_lan@1.0.0 extraneous

...und hier nach Adapterinstallation, extraneous ist weg

pi@raspberrypi:/opt/iobroker $ npm ls iobroker.inst@3.0.0 /opt/iobroker ├── iobroker.admin@6.2.23 ├── iobroker.backitup@2.5.4 ├── iobroker.discovery@3.1.0 ├── iobroker.feiertage@1.1.0 ├── iobroker.javascript@6.0.3 └── iobroker.js-controller@4.0.23

pi@ioBroker:/opt/iobroker$ npm ls node-ssh iobroker.inst@3.0.0 /opt/iobroker └── (empty)

nach Neustart der Javascript-Insatanz

pi@raspberrypi:/opt/iobroker $ npm ls node-ssh iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.javascript@6.0.3 └── node-ssh@13.0.

bzw. mit npm ls wie oben. Die Code-Tags habe ich wieder entfernt, das sieht ja gruselig aus

Apollon77 commented 1 year ago

Die Frage ist warum npm bei euch diese "extranous" eintrge in der "root" package json listet ...

also eine Idee wäre mal zu chauen da die package.json in /opt/iobroker "clean" ist ... da sollten ausschlieslich die Adapter drin stehen die Ihr installiert habt (iobroker.* Pakete) sonst eigentlich nichts. Dann ggf eine existierende package-lock.json mal löschen. dann mal iobroker neu starten (also vor dem ganzen spass beenden!) und schauen obs dann wieder passiert. Wenn janwäre eine IDee nochmal aufrumen und zusätzlich zur package-locj auch node_modules löschen. Dann nur den js controller per npm neu installieren und starten ... dann installiert er den rest sauber ...

Am Ende löäuft es auf eine frische "neuinstallation" unte rbehalten der ioboker.data raus ... Das zu beraten wäre aber eher ein Forum thema

Quarkmax commented 1 year ago

Naja, es waren alle drei Installationen frisch mit Javascript- und Feiertagsadapter (es waren auch nur die installierten Adapter in package.json) und ohne rumgefummel. Die Extraneous-Einträge kamen erst mit dem hinzufügen des NPM-Moduls node-ssh. Ich habe auf dem Testsystem die package-lock.json im Verzeichnis /opt/iobroker gelöscht - ohne Erfolg. Anschließend zusätzlich die versteckte package-lock.json im Verzeichnis /opt/iobroker/node-modules gelöscht und et voilà, läuft wie gewünscht. Das ganze auf dem Produktivsystem wiederholt, und nun stimmt es.

Danke für den Hinweis mit der package-lock.json, wäre ich nie drauf gekommen.

Apollon77 commented 1 year ago

Whhaatt? Ne package-lock in /opt/iobroekr/node_modules?? wtf

Diginix commented 1 year ago

Also eine versteckte gibt es bei mir auch: /opt/iobroker/node_modules/.package-lock.json 498 kb und 13488 Zeilen

npm ls liefert aber keine extraneous Eintäge: /opt/iobroker$ npm ls iobroker.inst@3.0.0 /opt/iobroker ├── iobroker.admin@6.3.2 ├── iobroker.alexa2@3.23.2 ├── iobroker.alias-manager@1.2.6 ├── iobroker.backitup@2.5.9 ├── iobroker.bring@1.8.1 ├── iobroker.bydbatt@1.0.8 ├── iobroker.daswetter@3.1.4 ├── iobroker.dwd@2.8.3 ├── iobroker.email@1.1.4 ├── iobroker.fb-checkpresence@1.1.20 ├── iobroker.feiertage@1.1.0 ├── iobroker.flot@1.11.0 ├── iobroker.frontier_silicon@0.0.10 ├── iobroker.history@2.2.4 ├── iobroker.ical@1.13.2 ├── iobroker.influxdb@3.2.0 ├── iobroker.info@1.9.23 ├── iobroker.iot@1.13.0 ├── iobroker.jarvis@4.0.0 ├── iobroker.javascript@6.1.4 ├── iobroker.js-controller@4.0.23 ├── iobroker.lupusec@1.3.6 ├── iobroker.mihome-vacuum@3.8.8 ├── iobroker.mihome@1.4.0 ├── iobroker.modbus@5.0.11 ├── iobroker.mqtt@4.0.7 ├── iobroker.netatmo-crawler@0.8.1 (git+ssh://git@github.com/Bart1909/ioBroker.netatmo-crawler.git#318b33f5072d6182a2b2e6e3cb53339f1a773d82) ├── iobroker.onkyo@2.1.2 ├── iobroker.parser@1.3.2 ├── iobroker.ping@1.5.3 ├── iobroker.plenticore@2.2.2 (git+ssh://git@github.com/PastCoder/ioBroker.plenticore.git#d01c4b02d5577515620a61722c1a4b765caa6486) ├── iobroker.pollenflug@1.0.6 ├── iobroker.proxmox@1.3.5 ├── iobroker.pvforecast@2.4.0 ├── iobroker.radar2@2.0.3 ├── iobroker.reolink@0.1.1 (git+ssh://git@github.com/aendue/ioBroker.reolink.git#a8a1ddaab2bc30c7abbe3f9f62311b48ad4f86c1) ├── iobroker.samsung@0.5.11 ├── iobroker.shelly@6.2.4 ├── iobroker.simple-api@2.7.2 ├── iobroker.socketio@6.3.1 ├── iobroker.sonoff@2.5.1 ├── iobroker.statistics@2.3.0 ├── iobroker.tankerkoenig@3.1.0 ├── iobroker.telegram@1.15.2 ├── iobroker.text2command@2.3.0 ├── iobroker.tr-064@4.2.17 ├── iobroker.web@5.3.1 ├── iobroker.ws@2.3.1 ├── iobroker.yeelight-2@1.2.1 └── iobroker.zigbee@1.8.9

Apollon77 commented 1 year ago

DIe extra mal mit gelöscht? Damit fixed?

MarkSau commented 1 year ago

DIe extra mal mit gelöscht? Damit fixed?

Habe ich mal versucht. Keine Änderung.

Apollon77 commented 1 year ago

Also im Forum sind mindestens 2 user bei denen es das gelöst hatte ... Also zeitgleich beide package-lock.json löschen, dann javascript adapter neu starten das die pakete neu installiert werden

Diginix commented 1 year ago

Ich habe bei mir mal diese zwei versteckten Dateien (Punkt am Anfang vom Dateinamen) gelöscht: /opt/iobroker/node_modules/.package-lock.json /opt/iobroker/node_modules/iobroker.javascript/node_modules/.package-lock.json

Danach "iobroker upload javascript" und restart der Instanz. Ob das nun "sauberer" und besser als früher ist, wird sich zeigen. Echte Probleme hatte ich ja eh nicht. Bisher habe ich ja auch keine zusätzlichen npm Module wie image-downloader in der JS Instanz eingetragen.

Apollon77 commented 1 year ago

Idealerweise auch noch /opt/iobroker/package-lock.json

Diginix commented 1 year ago

Das müsste eher @MarkSau testen. Ich lass die bei mir mal noch liegen und beobachte erstmal eine Weile ob wieder versteckte .package-lock.json entstehen (zb in /opt/iobroker/node_modules/).

Apollon77 commented 1 year ago

"ENtstehen" ist im zweifel ok ... die Frage ist ob es wieder so störende Effekte gibt