NEWS
Kann keine Adapter aktualisieren
-
Bei Updates wo es größere Versionssprünge bei npm gibt (zb Node.js 14->16 updated npm von 6.x auf 8.x) kann es sehr hilfreich sein wenn man schaut ob Adapter die von GitHub installiert wurden inzwischen in der gleichen version auf auf npm liegen und dann ggf von dort nochmals installieren oder updaten. Im Admin werden Adapter die per GitHub installiert wurden gesondert mit einem GitHub Symbol angezeigt. Das hilft auch im Vorfeld Probleme zu vermeiden.
Das ist die Passage, die für dich relevant gewesen wäre.
-
@thomas-braun
Oh, das hatte ich nicht so aufgefaßt, da einige Adapter (radar-trap) noch nicht auf npm sind. Das nächste Mal bin ich dann klüger.
Wie kann ich denn den Fehler, daß immer bei der Installation neuer Adapter immer noch nach den git-Adaptern gesucht wird, loswerden? -
-
Hallo zusammen,
ich versuche gerade diverse Adapter zu aktualisieren, leider ohne Erfolg.
Kurzer Ausschnitt was bei der "Update-Kachel" erscheint :Dependencies:
js-controller (>=3.3.22): 4.0.23
node (>=12.0.0): 16.16.0Der Button "Aktualisieren" ist ausgeblendet.
Ich weiß nicht so richtig weiter, denn wenn ich das richtig lese, sind alle Voraussetzungen erfüllt aber ein Update ist nicht möglich.
Kann mir jemand helfen?
LG
-
6 Zeilen unter Dir ist das gleiche Problem.
Warum nutzt du nicht den Thread?Bitte zusammenführen
https://forum.iobroker.net/topic/55518/kann-keine-adapter-aktualisieren
-
@nbrgit
Was kommt vom System auf diese Befehle in der Kommandozeile zurück?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 cd /opt/iobroker npm ls | grep -E 'github|ERR'
-
@thomas-braun
Vielen Dank! Ich hatte in der Zwischenzeit weiter nach einem Eintrag mit "radar-trap" gesucht und habe dann in der Datei /opt/iobroker/package.json eine Zeile"iobroker.radar-trap": "github:Steiger04/ioBroker.radar-trap#59772746bcfedabc4482b47115ca8584a1381bd5",
gefunden und diese gelöscht (vorher eine Kopie der Datei erstellt).
Jetzt bekomme ich diese Fehlermeldung nicht mehr, sondern bin einen Schritt weiter und bekomme die Meldungen, die auch frank_y hat. Ich bin nun dabei, die Verzeichnisse, die als Meldungen ausgegeben werden, zu löschen. Könnte man auch einfach alle versteckten Verzeichnisse unter /opt/iobroker/node_modules löschen, also
rm -rf /opt/iobroker/node_modules/.*
Für mich das so aus, als ob das nur Sicherheitskopien sind, die vor einer Installation neu erstellt werden.
-
Vorsicht! Da liegt auch ein Verzeichnis .bin drin, das würde ich nicht unbedingt löschen.
-
@thomas-braun Und der Rest?
-
Probier es aus...
Ich kann/konnte es bei mir nicht nachstellen, ich hab keine Meldungen zu solchen Verzeichnissen bekommen, in meinem Dateipfad sind auch keine zu finden. -
@thomas-braun sagte in Kann keine Adapter aktualisieren:
@frank_y sagte in Kann keine Adapter aktualisieren:
/opt/iobroker/node_modules/.abab-bvmibCm3
Alle Verzeichnisse die so ausgespuckt werden löschen.
Beispiel:rm -rf /opt/iobroker/node_modules/.abab-bvmibCm3
Solange bis alle angemeckerten Verzeichnisse weg sind.
Ich musste ca. 20 Verzeichnisse händisch löschen!
Jetzt wird folgender Fehler ausgeworfen:XXXXXXX@iobrokerVM:/opt$ iobroker upgrade history --debug node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module 'at-least-node' Require stack: - /opt/iobroker/node_modules/@alcalzone/pak/node_modules/fs-extra/lib/mkdirs/m ake-dir.js - /opt/iobroker/node_modules/@alcalzone/pak/node_modules/fs-extra/lib/mkdirs/i ndex.js - /opt/iobroker/node_modules/@alcalzone/pak/node_modules/fs-extra/lib/copy-syn c/copy-sync.js - /opt/iobroker/node_modules/@alcalzone/pak/node_modules/fs-extra/lib/copy-syn c/index.js - /opt/iobroker/node_modules/@alcalzone/pak/node_modules/fs-extra/lib/index.js - /opt/iobroker/node_modules/@alcalzone/pak/build/lib/package-managers/npm/ind ex.js - /opt/iobroker/node_modules/@alcalzone/pak/build/lib/pak.js - /opt/iobroker/node_modules/@alcalzone/pak/build/index.js - /opt/iobroker/node_modules/@iobroker/js-controller-common/lib/common/tools.j s - /opt/iobroker/node_modules/@iobroker/js-controller-common/index.js - /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js - /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933: 15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (/opt/iobroker/node_modules/@alcalzone/pak/node_modu les/fs-extra/lib/mkdirs/make-dir.js:9:21) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10 ) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) { code: 'MODULE_NOT_FOUND', requireStack: [ '/opt/iobroker/node_modules/@alcalzone/pak/node_modules/fs-extra/lib/mkdir s/make-dir.js', '/opt/iobroker/node_modules/@alcalzone/pak/node_modules/fs-extra/lib/mkdir s/index.js', '/opt/iobroker/node_modules/@alcalzone/pak/node_modules/fs-extra/lib/copy- sync/copy-sync.js', '/opt/iobroker/node_modules/@alcalzone/pak/node_modules/fs-extra/lib/copy- sync/index.js', '/opt/iobroker/node_modules/@alcalzone/pak/node_modules/fs-extra/lib/index .js', '/opt/iobroker/node_modules/@alcalzone/pak/build/lib/package-managers/npm/ index.js', '/opt/iobroker/node_modules/@alcalzone/pak/build/lib/pak.js', '/opt/iobroker/node_modules/@alcalzone/pak/build/index.js', '/opt/iobroker/node_modules/@iobroker/js-controller-common/lib/common/tool s.js', '/opt/iobroker/node_modules/@iobroker/js-controller-common/index.js', '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js', '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js' ] }
Sieht nicht gut aus, oder?
-
iobroker stop cd /opt/iobroker sudo -H -u iobroker npm install iobroker.js-controller
-
@thomas-braun sagte in Kann keine Adapter aktualisieren:
sudo -H -u iobroker npm install iobroker.js-controller
jetzt werden wieder Verzeichnisse angemeckert:
npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/aws4 npm ERR! dest /opt/iobroker/node_modules/.aws4-3BmHzpIi npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/aws4' -> '/opt/iobroker/node_modules/.aws4-3BmHzpIi' npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-07-22T14_18_20_594Z-debug-0.log
ich lösche mal weiter: rm -rf /opt/iobroker/node_modules/.aws4-3BmHzpIi
-
@frank_y
es sind wieder mehrere Verzeichnisse....bisher 6...sehr mühsam
Woran liegt das denn. Es lief ja alles? -
@frank_y sagte in Kann keine Adapter aktualisieren:
Woran liegt das denn. Es lief ja alles?
Ich weiß es nicht. Wenn man sich im Netz umschaut passiert das überwiegend bei Aktionen im npm tree die mit root-Rechten und/oder global durchgeführt wurden. Kann auch geraume Zeit her sein, da schlummern dann halt immer Zeitbomben.
Als ich auf npm8 gewechselt bin hatte ich solche Probleme jedenfalls nicht.
-
wenn ich den iobroker neu/frisch aufsetzte und dann per Backitup wiederherstelle, sollten die Probleme auch weg sein, oder?
-
Ich weiß es nicht genau. Die package-lock wird soweit ich weiß mit gesichert.
-
@thomas-braun
Ich habe bei mir mitcd /opt/iobroker/node_modules mkdir bak mv ./.* bak mv bak/.bin . mv @*/.??* bak
alle beanstandeten Verzeichnisse entfernt. Danach lief das Update los, es kamen einige "normale" Updatemeldungen und dann eine Unmenge an Fehlermeldungen; größtenteils npm ERR! Ich habe mal das Logfile angehängt; es lohnt sich aber nicht, das weiter zu verfolgen: putty.log Da muß wohl noch etwas anderes kaputt sein Ich werde das System neu aufsetzen und dann den letzten Backup einspielen.
Trotzdem herzlichen Dank für Deine Hilfe!!!
-
@thomas-braun
das Löschen kann nicht der richtige Weg sein:Habe über
find /opt/iobroker/node_modules/ -name .*-* -print
alle Dateien mit kryptischen Endungen herausgesucht und gelöscht (bestimmt 100 Stück)
sudo -H -u iobroker npm install iobroker.js-controller
lief dann auch durch. Es wurden aber sehr viele Warnungen zu veralteten Versionen angezeigt.
Ich habe dann einsudo apt update && sudo apt upgrade
durchgeführt. Danach sind alle gerade gelöschten Dateien/Ordner wieder da!?
Erneutes
sudo -H -u iobroker npm install iobroker.js-controller
liefert die erste Fehlermeldung aus dem Versuch des Historie-Updates:
@iobrokerVM:/opt/iobroker$ sudo -H -u iobroker npm install iobroker.js-controller npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/abbrev npm ERR! dest /opt/iobroker/node_modules/.abbrev-5eNud0FY npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/abbrev' -> '/opt/iobroker/node_modules/.abbrev-5eNud0FY' npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-07-22T15_45_08_712Z-debug-0.log
Ich bin etwas ratlos?
-
Bei dir scheitert der Versuch sharp bzw. die libvips zu bauen.
Das ist bekanntermaßen etwas tricky.npm ERR! command sh -c (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy) npm ERR! make: Entering directory '/opt/iobroker/node_modules/sharp/build'