NEWS
[How-to] Node.js ioBroker richtig updaten-2021/22 Edition
-
@thomas-braun Ja werden noch als invalide über non kist ausgewiesen. Habe ich ja gepostet:
iobroker.node-red@3.3.1 invalid: "github:ioBroker/ioBroker.node-red" from the root project
-
Das ist ja aus der Zusammenfassung am Ende des Trees, oder nicht?
Und im tree selber steht der Adapter wie drin? -
@thomas-braun Ich poste wenn ich daheim bin die komplette Ausgabe von npm list. Im Moment bin ich unterwegs
-
Also ich habe gerade meinen IO-Broker (Windows 10 64bit) auf die NPM 16.5.1 hochgezogen (von 14.19.3) Ich habe die NPM MSI Datei heruntergeladen und einfach installiert - ohne Probleme.
-
@thomas-braun sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Das ist ja aus der Zusammenfassung am Ende des Trees, oder nicht?
Und im tree selber steht der Adapter wie drin?So nein - hier die Gesamtausgabe:
pi@MWHome:~ $ cd /opt/iobroker pi@MWHome:/opt/iobroker $ npm list iobroker.inst@2.0.3 /opt/iobroker ├── colors@1.4.0 ├── fs-extra@7.0.1 ├── iobroker.admin@5.4.9 ├── iobroker.alias-manager@1.2.6 ├── iobroker.backitup@2.4.9 ├── iobroker.dwd@2.8.3 ├── iobroker.flot@1.11.0 ├── iobroker.info@1.9.19 ├── iobroker.javascript@5.7.0 ├── iobroker.js-controller@4.0.23 ├── iobroker.mercedesme@0.0.56 invalid: "github:TA2k/ioBroker.mercedesme" from the root project ├── iobroker.mqtt@4.0.5 invalid: "github:ioBroker/ioBroker.mqtt" from the root project ├── iobroker.node-red@3.3.1 invalid: "github:ioBroker/ioBroker.node-red" from the root project ├── iobroker.pi-hole@1.3.4 ├── iobroker.ping@1.5.3 ├── iobroker.simple-api@2.6.5 ├── iobroker.socketio@4.2.0 ├── iobroker.sourceanalytix@0.4.12-1 ├── iobroker.sql@1.16.2 ├── iobroker.tr-064@4.2.16 ├── iobroker.vis-hqwidgets@1.2.0 ├── iobroker.vis-materialdesign@0.5.9 ├── iobroker.vis@1.4.15 ├── iobroker.web@4.3.0 ├── iobroker.yahka@0.13.1 ├── iobroker@2.0.3 ├── semver@5.7.1 └── yargs@7.1.2 npm ERR! code ELSPROBLEMS npm ERR! invalid: iobroker.mercedesme@0.0.56 /opt/iobroker/node_modules/iobroker.mercedesme npm ERR! invalid: iobroker.mqtt@4.0.5 /opt/iobroker/node_modules/iobroker.mqtt npm ERR! invalid: iobroker.node-red@3.3.1 /opt/iobroker/node_modules/iobroker.node-red npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-06-18T19_06_51_429Z-debug-0.log
-
Was auffällt: Alle drei Adapter gibt es in gleicher Version auch über npm/das Beta Repo.
Wenn du die alle nochmal gezielt über diese Schiene ziehst? -
@thomas-braun Ich habe jetzt einfach mal die package.json gepatched und die Versionsnummern eingetragen und gut ist. Wie gesagt über npm die gleichen Versionen zu installieren bringt nichts.
sudo nano package.json pi@MWHome:/opt/iobroker $ npm list iobroker.inst@2.0.3 /opt/iobroker ├── colors@1.4.0 ├── fs-extra@7.0.1 ├── iobroker.admin@5.4.9 ├── iobroker.alias-manager@1.2.6 ├── iobroker.backitup@2.4.9 ├── iobroker.dwd@2.8.3 ├── iobroker.flot@1.11.0 ├── iobroker.info@1.9.19 ├── iobroker.javascript@5.7.0 ├── iobroker.js-controller@4.0.23 ├── iobroker.mercedesme@0.0.56 ├── iobroker.mqtt@4.0.5 ├── iobroker.node-red@3.3.1 ├── iobroker.pi-hole@1.3.4 ├── iobroker.ping@1.5.3 ├── iobroker.simple-api@2.6.5 ├── iobroker.socketio@4.2.0 ├── iobroker.sourceanalytix@0.4.12-1 ├── iobroker.sql@1.16.2 ├── iobroker.tr-064@4.2.16 ├── iobroker.vis-hqwidgets@1.2.0 ├── iobroker.vis-materialdesign@0.5.9 ├── iobroker.vis@1.4.15 ├── iobroker.web@4.3.0 ├── iobroker.yahka@0.13.1 ├── iobroker@2.0.3 ├── semver@5.7.1 └── yargs@7.1.2 pi@MWHome:/opt/iobroker $ npm rebuild rebuilt dependencies successfully
habe gerade nochmal mit der gepatchten Datei den mqtt über npm installiert - ging ratz fatz und ohne Fehler:
$ iobroker url iobroker.mqtt --host MWHome install iobroker.mqtt NPM version: 8.12.2 Installing iobroker.mqtt... (System call) removed 577 packages, and changed 1 package in 20s101 packages are looking for funding run `npm fund` for details upload [13] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/i18n/de/translations.json i18n/de/translations.json application/json upload [12] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/i18n/en/translations.json i18n/en/translations.json application/json upload [11] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/i18n/es/translations.json i18n/es/translations.json application/json upload [10] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/i18n/fr/translations.json i18n/fr/translations.json application/json upload [9] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/i18n/it/translations.json i18n/it/translations.json application/json upload [8] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/i18n/nl/translations.json i18n/nl/translations.json application/json upload [7] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/i18n/pl/translations.json i18n/pl/translations.json application/json upload [6] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/i18n/pt/translations.json i18n/pt/translations.json application/json upload [5] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/i18n/ru/translations.json i18n/ru/translations.json application/json upload [4] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/i18n/zh-cn/translations.json i18n/zh-cn/translations.json application/json upload [3] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/index_m.html index_m.html text/html upload [2] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/jsonConfig.json jsonConfig.json application/json upload [1] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/mqtt.png mqtt.png image/png upload [0] mqtt.admin /opt/iobroker/node_modules/iobroker.mqtt/admin/words.js words.js application/javascript Process exited with code 0
-
Das ist klar.
Die Frage ist, wo kommen die ungültigen Pfadangaben her?
Bei mir steht in der package.json der git-Kram mit vollem/anderem Pfad drin:"iobroker.switchbot-hub":"github:DrozmotiX/ioBroker.switchbot-hub#de8c1ad97edafedb16cbbb2c6dc14b032848df8e"
-
@thomas-braun sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Das ist klar.
Die Frage ist, wo kommen die ungültigen Pfadangaben her?
Bei mir steht in der package.json der git-Kram mit vollem/anderem Pfad drin:"iobroker.switchbot-hub":"github:DrozmotiX/ioBroker.switchbot-hub#de8c1ad97edafedb16cbbb2c6dc14b032848df8e"
Ehrlich gesagt, kann ich Dir das auch nicht beantworten. Vielleicht lag es daran, dass Du über CLI von github installiert hast und ich über die Adminoberfläche:
Habe gerade mal den source-analytics Adapter auf latest aktualisiert.
Ging auch ratz-fatz und ohne Fehler:
$ iobroker upgrade sourceanalytix@0.4.14 Update sourceanalytix from @0.4.12-1 to @0.4.14 NPM version: 8.12.2 Installing iobroker.sourceanalytix@0.4.14... (System call) changed 1 package in 14s101 packages are looking for funding run `npm fund` for details Update "system.adapter.sourceanalytix.0" upload [25] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/admin.d.ts admin.d.ts video/mp2t upload [20] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/i18n/es/translations.json i18n/es/translations.json application/json upload [19] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/i18n/fr/translations.json i18n/fr/translations.json application/json upload [18] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/i18n/it/translations.json i18n/it/translations.json application/json upload [17] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/i18n/nl/translations.json i18n/nl/translations.json application/json upload [16] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/i18n/pl/translations.json i18n/pl/translations.json application/json upload [15] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/i18n/pt/translations.json i18n/pt/translations.json application/json upload [14] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/i18n/ru/translations.json i18n/ru/translations.json application/json upload [13] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/i18n/zh-cn/translations.json i18n/zh-cn/translations.json application/json upload [12] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/index_m.html index_m.html text/html upload [11] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/jsonCustom.json jsonCustom.json application/json upload [10] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/readmeDocu/cumulativeReading-Reset.png readmeDocu/cumulativeReading-Reset.png image/png upload [9] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/readmeDocu/mainSettings.png readmeDocu/mainSettings.png image/png upload [8] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/readmeDocu/priceSettings.png readmeDocu/priceSettings.png image/png upload [7] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/readmeDocu/settingKey.png readmeDocu/settingKey.png image/png upload [6] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/readmeDocu/stateSettings.png readmeDocu/stateSettings.png image/png upload [5] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/readmeDocu/stateStartValues.png readmeDocu/stateStartValues.png image/png upload [4] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/settings_details.png settings_details.png image/png upload [3] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/settings_open.png settings_open.png image/png upload [2] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/sourceanalytix.png sourceanalytix.png image/png upload [1] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/style.css style.css text/css upload [0] sourceanalytix.admin /opt/iobroker/node_modules/iobroker.sourceanalytix/admin/words.js words.js application/javascript Process exited with code 0
Ich stelle mir nur die Frage, warum sich keine package-log.json mehr erstellt. Wie gesagt so habe ich ja kein Problem - aber ich dachte, die muss ja für irgendwas gut sein.
-
Update von 14 auf 16.
Fast alles ok.dieter@VM-iobroker:~$ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs && who -r && whoami && groups /usr/bin/nodejs v16.15.1 /usr/bin/node v16.15.1 /usr/bin/npm 8.11.0 nodejs: Installiert: 16.15.1-deb-1nodesource1 Installationskandidat: 16.15.1-deb-1nodesource1 Versionstabelle: *** 16.15.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x buster/main amd64 Packages 100 /var/lib/dpkg/status 10.24.0~dfsg-1~deb10u1 500 500 http://ftp.de.debian.org/debian buster/main amd64 Packages 500 http://security.debian.org/debian-security buster/updates/main amd64 Packages Runlevel 5 2022-06-18 03:10 dieter dieter sudo iobroker dieter@VM-iobroker:~$
Lediglich der Adapter "mihome-vaccuum" meckert, dass canvas fehlt.
mihome-vacuum.0 2022-06-19 12:59:31.416 warn CANVAS package not installed....please install Canvas package manually or disable Map in config see also https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/blob/master/lib/canvaserror.md
Manuell nachinstalliert mit "npm i canvas"
Und nun keine Fehler mehr im log.mfg
Dieter -
Hallo zusammen,
ich habe gerade auch auf node.js 16 aktualisiert.
Nach dem Start vom IOBroker laufen aber Warnungen vom mihome-vacuum Adapter auf:CANVAS package not installed....please install Canvas package manually or disable Map in config see also https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/blob/master/lib/canvaserror.md
Danach wollte ich "npm i canvas" ausführen.
Dieser erzeugt neben einigen Warnung einen Error:3899 timing command:i Completed in 63371ms 3900 verbose stack Error: ENOENT: no such file or directory, lstat '/home/iobroker/.npm/_cacache/content-v2/sha1/b3/71/e809cfdc0f61b310b52b605d43b3987f1559' 3901 verbose cwd /opt/iobroker 3902 verbose Linux 5.10.0-9-amd64 3903 verbose node v16.15.1 3904 verbose npm v8.11.0 3905 error code ENOENT 3906 error syscall lstat 3907 error path /home/iobroker/.npm/_cacache/content-v2/sha1/b3/71/e809cfdc0f61b310b52b605d43b3987f1559 3908 error errno -2 3909 error enoent ENOENT: no such file or directory, lstat '/home/iobroker/.npm/_cacache/content-v2/sha1/b3/71/e809cfdc0f61b310b52b605d43b3987f1559' 3910 error enoent This is related to npm not being able to find a file. 3910 error enoent 3911 verbose exit -2 3912 timing npm Completed in 63565ms 3913 verbose unfinished npm timer reify 1655638660637 3914 verbose unfinished npm timer reify:loadTrees 1655638660654 3915 verbose code -2
Wie kann ich das beheben?
Danke. -
In welchem Verzeichnis welchen exakten Befehl eingegeben?
Immer komplette Ein- und Ausgaben inkl Login prompt zeigen.cd /opt/iobroker npm ls canvas
zeigen.
-
@thomas-braun Hallo so sieht die Ausgabe aus:
iobroker@iobroker:/opt/iobroker$ npm ls canvas iobroker.inst@2.0.3 /opt/iobroker ├─┬ iobroker.iot@1.11.4 │ ├── canvas@2.9.1 │ └─┬ jsdom@19.0.0 │ └── canvas@2.9.1 deduped └─┬ iobroker.mihome-vacuum@3.3.3 └── canvas@2.9.1 iobroker@iobroker:/opt/iobroker$
-
@bahnuhr sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
Manuell nachinstalliert mit "npm i canvas"
Hm .... naja das ist an sich der falsche weg Canvas ist bestimmt da, aber halt kompiliert gegen die alte Version. Wenn Du jetzt nochmal canvas "irgendwo" installiert hast dann haste jetzt "irgendwo" ein extra Canvas was vllt genutzt wird vom adapter ... oder auch nicht ...
Da ist die Meldung vom Adapter seeehr irreführend
Richtiger wäre in /opt/iobroker/node_modules zu schauen wo "canvas" liegt (also ein Verzeichnis). Am Ende starten ob es in node_modules/iobroker.mihome-vacuum/node_modules/canvas ist oder in node_modules/canvas . Dann dort ein "npm install" ausführen
-
@siggi0904
Sollte eigentlich passen.
Und wo hast du jetzt genau was eingegeben das zu dem obigen Output führte? -
@thomas-braun ich war in "/opt/iobroker$" und habe "npm i canvas eingegeben"
@apollon77 dem kann ich nicht folgen. Was muss ich da machen?
Danke. -
Bei mir ist es wohl jetzt da drin:
dieter@VM-iobroker:~$ npm ls canvas dieter@ /home/dieter └── canvas@2.9.1
-
@bahnuhr
In /home/dieter ist es falsch. -
@thomas-braun sagte in [How-to] Node.js ioBroker richtig updaten-2021/22 Edition:
@bahnuhr
In /home/dieter ist es falsch.wenn ich wechsel nach /opt/iobroker dann kommt dies:
dieter@VM-iobroker:/opt/iobroker$ npm ls canvas [sudo] Passwort für dieter: iobroker.inst@2.0.3 /opt/iobroker ├── canvas@2.9.1 extraneous └─┬ iobroker.mihome-vacuum@3.3.3 └── canvas@2.9.1
Das sieht schon besser aus, oder ?
Wie bekomme ich das andere wieder weg.
oder einfach drin lassen ? -
@siggi0904
Stell dich in
/opt/iobroker/node_modules/iobroker.mihome-vacuum/node_modules/canvasund dann
npm install