NEWS
NPM entfernt und ändert bei jedem Vorgang unzählige Pakete
-
Hi zusammen!
Ich habe seit einiger Zeit das "Problem", dass installieren, updaten und löschen von Adapter gefühlt sehr lange dauert. So lange ist es laut der Angabe im Log unten nicht, aber bei mehreren Adapter zieht sich das halt schon in die Länge. Das war nicht immer so.
Kann sich jemand erklären was da los ist? Und ist es normal, dass NPM so viele Aktionen durchführt wegen dem löschen von einem einzigen Adapter?
Bin für jeden Tip dankbar und liefere gerne Infos nach die ihr braucht. Vielleicht ist es auch jammern auch hohem Niveau.
Als Hardware für hier übrigens ein Proxmox Host mit Quadcore Xeon und 8 GB Ram für die iobroker VM eingesetzt. Daran sollte es nicht scheitern....Besten Dank!
$ iobroker del hmm --debug Delete adapter "hmm" host.debian Counted 1 meta of hmm host.debian Counted 1 adapter for hmm host.debian Counted 1 states of system.adapter.hmm host.debian file hmm.admin deleted host.debian object hmm deleted host.debian object hmm.admin deletedhost.debian Deleting 3 object(s). added 22 packages, removed 714 packages, and changed 1447 packages in 2m142 packages are looking for funding run `npm fund` for details Process exited with code 0
-
Zeige mal deine Grundbasis
Ein/ und Ausgabe davon in Code-Tags </> hier einstellen
cd /opt/iobroker npm ls | grep -E 'github.com|ERR' iobroker update -i sudo ln -s /usr/bin/node /usr/bin/nodejs 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
-
Hi!
Sehr gerne:admin@debian:/opt/iobroker$ npm ls | grep -E 'github.com|ERR' [sudo] Passwort für admin: ├── iobroker.icons-open-icon-library-png@0.1.3 invalid: "https://github.com/ioBroker/ioBroker.icons-open-icon-library-png/tarball/master" from the root project npm ERR! code ELSPROBLEMS npm ERR! extraneous: @types/caseless@0.12.2 /opt/iobroker/node_modules/@types/caseless npm ERR! extraneous: @types/request@2.48.8 /opt/iobroker/node_modules/@types/request npm ERR! extraneous: coffeescript@1.12.7 /opt/iobroker/node_modules/coffeescript npm ERR! invalid: iobroker.icons-open-icon-library-png@0.1.3 /opt/iobroker/node_modules/iobroker.icons-open-icon-library-png npm ERR! extraneous: jsonata@1.8.6 /opt/iobroker/node_modules/jsonata npm ERR! extraneous: node-inspect@2.0.0 /opt/iobroker/node_modules/node-inspect npm ERR! extraneous: picocolors@1.0.0 /opt/iobroker/node_modules/picocolors npm ERR! extraneous: suncalc2@1.8.1 /opt/iobroker/node_modules/suncalc2 npm ERR! extraneous: typescript@4.7.4 /opt/iobroker/node_modules/typescript npm ERR! extraneous: virtual-tsc@0.6.2 /opt/iobroker/node_modules/virtual-tsc npm ERR! extraneous: wake_on_lan@1.0.0 /opt/iobroker/node_modules/wake_on_lan npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-09-21T12_20_10_771Z-debug-0.log
admin@debian:/opt/iobroker$ iobroker update -i Used repository: stable Adapter "admin" : 6.2.22 , installed 6.2.22 Adapter "alexa2" : 3.19.9 , installed 3.19.9 Adapter "alias-manager": 1.2.4 , installed 1.2.6 Adapter "cloud" : 4.2.2 , installed 4.2.2 Adapter "daswetter" : 3.1.3 , installed 3.1.3 Adapter "dwd" : 2.8.3 , installed 2.8.3 Adapter "echarts" : 1.0.12 , installed 1.0.12 Adapter "feiertage" : 1.1.0 , installed 1.1.0 Adapter "flot" : 1.11.0 , installed 1.11.0 Adapter "gruenbeck" : 0.0.42 , installed 0.0.42 Adapter "hm-rega" : 3.0.40 , installed 3.0.40 Adapter "hm-rpc" : 1.15.12 , installed 1.15.12 Adapter "homeconnect" : 1.0.1 , installed 1.0.1 Adapter "hp-ilo" : 1.0.6 , installed 1.0.6 Adapter "ical" : 1.13.1 , installed 1.13.1 Adapter "icons-addictive-flavour-png": 0.1.0, installed 0.1.0 Adapter "icons-fatcow-hosting": 0.1.0, installed 0.1.0 Adapter "icons-icons8" : 0.0.1 , installed 0.0.1 Adapter "icons-material-png": 0.1.0, installed 0.1.0 Adapter "icons-material-svg": 0.1.0, installed 0.1.0 Adapter "icons-mfd-png": 1.1.0 , installed 1.1.0 Adapter "icons-mfd-svg": 1.1.0 , installed 1.1.0 Adapter "icons-open-icon-library-png": 0.1.2, installed 0.1.3 Adapter "icons-ultimate-png": 1.0.1, installed 1.0.1 Adapter "info" : 1.9.19 , installed 1.9.19 Adapter "iot" : 1.11.9 , installed 1.11.9 Adapter "javascript" : 6.0.3 , installed 6.0.3 Controller "js-controller": 4.0.23 , installed 4.0.23 Adapter "mihome-vacuum": 3.4.2 , installed 3.4.2 Adapter "mobile" : 1.0.1 , installed 1.0.1 Adapter "modbus" : 5.0.5 , installed 5.0.5 Adapter "nanoleaf-lightpanels": 1.3.1, installed 1.3.1 Adapter "nut" : 1.5.1 , installed 1.5.1 Adapter "pi-hole" : 1.3.4 , installed 1.3.4 Adapter "ping" : 1.5.3 , installed 1.5.3 Adapter "pushover" : 3.0.3 , installed 3.0.3 Adapter "rickshaw" : 1.0.0 , installed 1.0.0 Adapter "rpi2" : 1.3.2 , installed 1.3.2 Adapter "sayit" : 1.12.3 , installed 1.12.6 Adapter "scenes" : 2.3.9 , installed 2.3.9 Adapter "shelly" : 6.0.0 , installed 6.0.0 Adapter "simple-api" : 2.7.0 , installed 2.7.0 Adapter "smartmeter" : 3.3.4 , installed 3.3.4 Adapter "socketio" : 4.2.0 , installed 4.2.0 Adapter "sonos" : 2.2.3 , installed 2.2.3 Adapter "sql" : 2.1.8 , installed 2.1.8 Adapter "statistics" : 2.2.0 , installed 2.2.0 Adapter "tesla-motors" : 1.3.0 , installed 1.3.0 Adapter "trashschedule": 2.0.3 , installed 2.0.3 Adapter "tronity" : 1.1.1 , installed 1.1.1 Adapter "unifi" : 0.5.10 , installed 0.5.10 Adapter "vis" : 1.4.15 , installed 1.4.15 Adapter "vis-bars" : 0.1.4 , installed 0.1.4 Adapter "vis-canvas-gauges": 0.1.5, installed 0.1.5 Adapter "vis-colorpicker": 1.2.0 , installed 1.2.0 Adapter "vis-fancyswitch": 1.1.0 , installed 1.1.0 Adapter "vis-google-fonts": 1.0.3 , installed 1.0.3 Adapter "vis-history" : 1.0.0 , installed 1.0.0 Adapter "vis-hqwidgets": 1.3.0 , installed 1.3.0 Adapter "vis-inventwo" : 3.3.1 , installed 3.3.1 Adapter "vis-jqui-mfd" : 1.0.12 , installed 1.0.12 Adapter "vis-justgage" : 1.0.2 , installed 1.0.2 Adapter "vis-keyboard" : 0.0.2 , installed 0.0.2 Adapter "vis-lcars" : 1.0.4 , installed 1.0.4 Adapter "vis-map" : 1.0.4 , installed 1.0.4 Adapter "vis-metro" : 1.2.0 , installed 1.2.0 Adapter "vis-players" : 0.1.6 , installed 0.1.6 Adapter "vis-plumb" : 1.0.2 , installed 1.0.2 Adapter "vis-rgraph" : 0.0.2 , installed 0.0.2 Adapter "vis-timeandweather": 1.2.2, installed 1.2.2 Adapter "vis-weather" : 2.5.5 , installed 2.5.6 Adapter "weatherunderground": 3.4.2, installed 3.4.2 Adapter "web" : 4.3.0 , installed 4.3.0 Adapter "worx" : 1.6.6 , installed 1.6.6 Adapter "ws" : 1.3.0 , installed 1.3.0 Adapter "yr" : 5.3.0 , installed 5.3.0
admin@debian:/opt/iobroker$ sudo ln -s /usr/bin/node /usr/bin/nodejs ln: die symbolische Verknüpfung '/usr/bin/nodejs' konnte nicht angelegt werden: Die Datei existiert bereits
admin@debian:/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.0 v16.17.0 8.15.0 admin /opt/iobroker OK:1 http://ftp.debian.org/debian bullseye-backports InRelease OK:2 http://deb.debian.org/debian bullseye InRelease OK:3 http://security.debian.org/debian-security bullseye-security InRelease OK:4 http://deb.debian.org/debian bullseye-updates InRelease OK:5 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease Ign:6 http://webmin.mirror.somersettechsolutions.co.uk/repository sarge InRelease OK:7 https://repos.influxdata.com/debian stretch InRelease OK:8 https://deb.nodesource.com/node_16.x bullseye InRelease OK:9 https://packages.grafana.com/oss/deb stable InRelease OK:10 http://webmin.mirror.somersettechsolutions.co.uk/repository sarge Release Ign:11 http://download.webmin.com/download/repository sarge InRelease OK:12 http://download.webmin.com/download/repository sarge Release Paketlisten werden gelesen… Fertig Abhängigkeitsbaum wird aufgebaut… Fertig Statusinformationen werden eingelesen… Fertig Alle Pakete sind aktuell. nodejs: Installiert: 16.17.0-deb-1nodesource1 Installationskandidat: 16.17.0-deb-1nodesource1 Versionstabelle: *** 16.17.0-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x bullseye/main amd64 Packages 100 /var/lib/dpkg/status 12.22.12~dfsg-1~deb11u1 500 500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages 12.22.5~dfsg-2~11u1 500 500 http://deb.debian.org/debian bullseye/main amd64 Packages
-
@darkbrain85 sagte in NPM entfernt und ändert bei jedem Vorgang unzählige Pakete:
bullseye
sarge
xenial
stretchBei dem bunten Zoo an Quellen für falsche Distributionen wundert es mich eigentlich das der zusammengeflickte Frankenstein da überhaupt noch zuckt.
Installier den icons-open-icon-library-png Adapter nochmal sauber drüber.
-
@thomas-braun
Mag sein, aber IMHO ist da keine Software mehr von den Repos installiert. Tatsächlich sollten die natürlich mal raus. Die Installation hat schon einige Jahre hinter sich und läuft an sich bis auf den oben genannten "Fehler" sauber. -
Wie gesagt:
Installier den icons-open-icon-library-png Adapter nochmal sauber drüber.Aus dem Repo, nicht aus github.
Dann den npm tree mal prunen.
cd /opt/iobroker npm prune
-
npm prune ist durch:
admin@debian:/opt/iobroker$ npm prune npm WARN deprecated crypto@1.0.1: This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in. npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3 npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor. npm WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. npm WARN deprecated request@1.9.9: request has been deprecated, see h npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. npm WARN deprecated uuid@3.3.2: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. npm WARN deprecated request@2.88.2: request has been deprecated, see npm WARN deprecated tough-cookie@0.12.1: ReDoS vulnerability parsing Set-Cookie removed 647 packages, and changed 1467 packages in 6m
Eine Installation mit anschließendem Löschvorgang eines zufälligen Adapters dauert dann wieder aus meiner Sicht eine Spur zu lang:
$ iobroker del uv-protect --debug Delete adapter "uv-protect" host.debian Counted 1 instances of uv-protect host.debian Counted 1 meta of uv-protect host.debian Counted 1 adapter for uv-protect host.debian Counted 4 channels of uv-protect host.debian Counted 32 states of uv-protect host.debian Counted 14 states of system.adapter.uv-protect host.debian Counted 32 states (io.uv-protect.*) from states host.debian Counted 12 states (system.adapter.uv-protect.*) from states host.debian file uv-protect.admin deleted host.debian object uv-protect deleted host.debian object uv-protect.admin deleted host.debian Deleting 53 object(s). host.debian Deleting 44 state(s). removed 648 packages, and changed 1467 packages in 2m142 packages are looking for funding run `npm fund` for details Process exited with code 0
icons-open-icon-library-png ist natürlich auch sauber aus dem Repo neu installiert.
-
Das kann weg... Wurstfinger...
-
Sonst noch jemand eine Idee zu dem Thema?
-
Bei mehr als 70 Adaptern ist auch der npm tree entsprechend groß. Das kann dann auch gut und gerne die 2 Minuten irgendwas dauern bis der komplett durchlaufen wurde.
-
Einfach mal für mein Verständnis:
Was wird denn da im letzten Schritt gemacht? Warum werden da so viele Aktionen per NPM durchgeführt? Ich bin halt der Meinung, dass das nicht immer so war. Könnte sogar mit dem Update auf Nodejs 16 gekommen sein, da bin ich mir aber unsicher.
Vielleicht jammere ich auch zu viel, aber es nervt Unglaube ich wenn jedes Update eines Adapters einfach mehrere Minuten dauert. Also vor allem wenn man mehrere Adapter gleichzeitig aktualisieren möchte.
-
Im Detail weiß ich auch nicht was da ganz genau gemacht wird, aber der npm tree (der halt bei dir recht groß sein muss, bei > 70 Adaptern) wird durchlaufen und auf z. B. Duplikate untersucht und Abhängigkeiten werden ggf. neu geschrieben. Dauert halt.
iobroker update && iobroker upgrade all -y
und dann kannst du die Kiste laufen lassen.
Könnte sogar mit dem Update auf Nodejs 16 gekommen sein, da bin ich mir aber unsicher.
Jein, hat eher mit dem Upgrade auf npm 8 und dem neuen Format der package.json-Datei zu tun.
Hast du dir denn jetzt
iobroker.icons-open-icon-library-png
angeschaut? -
@thomas-braun sagte in NPM entfernt und ändert bei jedem Vorgang unzählige Pakete:
Hast du dir denn jetzt iobroker.icons-open-icon-library-png angeschaut?
Ja, das hatte ich oben ja schon geschrieben. Habe ich entfernt und sauber aus dem Repo neu installiert.
Ich hatte allerdings gerade einen Erfolg.
Nachdem ich gestern nach Deinen Hinweisen einnpm prune
im iobroker Verzeichnis gemacht habe, brachte das keinen Erfolg.
Jetzt habe ich das gerade einfach nochmal gemacht, weil ich mich an anderer Stelle ein bisschen in NPM eingelesen hatte. Und siehe da, das Problem ist scheinbar weg.Nun wird wie an sich auch erwartet folgendes bei der deinstallation eines Adapters gemeldet:
removed 1 package in 4s141 packages are looking for funding run `npm fund` for details
Halt ein Paket und nicht mehr drölfzig. Updates und Installationen laufen jetzt auch wieder ein paar Sekunden durch. Traumhaft! Es scheint also nicht normal, wenn da hunderte Pakete angefasst werden.
Danke für Deinen Input.