NEWS
Adapter updaten nicht mehr nach Update auf Node.js 16.17.0
-
Hallo zusammen,
seitdem ich gestern nach gefühlt 100 Anläufen endlich das Update für Node.js geschafft habe muss ich heute feststellen, dass sich die Adapter nicht mehr aktualisieren lassen.
Ich bin sehr unerfahren mit Linux würde mich dennoch freuen wenn mal jemand einen Blick draufwerfen kann, um das gerade zu rücken.
pi@raspberrypi:~ $ node -v v16.17.0 pi@raspberrypi:~ $ npm -v 8.19.1
Vielen Dank im Voraus.
-
Bei einem der 100 Anläufe hast du auch npm manuell angepackt.
v 8.19.1 passt nicht 'ab Werk' zu nodejs 16.17.0Schau in meiner Signatur wie man nodejs richtig updated.
Zu dem Problem mit den Adapter-Updates:
https://forum.iobroker.net/topic/57337/fehler-25-bei-adapter-install-update-mit-npm8
(vermutlich) -
Hallo Thomas, schön, dass du dir die Zeit nimmst.
Leider geht es schon "gut" los nach deiner Anleitung:
pi@raspberrypi:~ $ cd /opt/iobroker pi@raspberrypi:/opt/iobroker $ npm ls | grep -E 'github|ERR' npm ERR! code ELSPROBLEMS npm ERR! extraneous: @types/component-emitter@1.2.11 /opt/iobroker/node_modules/@types/component-emitter npm ERR! extraneous: @types/cookie@0.4.1 /opt/iobroker/node_modules/@types/cookie npm ERR! extraneous: @types/cors@2.8.12 /opt/iobroker/node_modules/@types/cors npm ERR! invalid: iobroker.node-red@4.0.0 /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-09-06T08_04_40_624Z-debug-0.log
-
@weiland sagte in Adapter updaten nicht mehr nach Update auf Node.js 16.17.0:
npm ls | grep -E 'github|ERR'
In der Anleitung steht aber auch, wie man das wieder "gradebiegt"!
-
@guergen said in Adapter updaten nicht mehr nach Update auf Node.js 16.17.0:
npm ls | grep -E 'github|ERR'
Meintest du hiermit?
pi@raspberrypi:/opt/iobroker $ cd /opt/iobroker && npm prune npm WARN old lockfile npm WARN old lockfile The package-lock.json file was created with an old version of npm, npm WARN old lockfile so supplemental metadata must be fetched from the registry. npm WARN old lockfile npm WARN old lockfile This is a one-time fix-up, please be patient... npm WARN old lockfile npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/acorn npm ERR! dest /opt/iobroker/node_modules/.acorn-zHERliMH npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/acorn' -> '/opt/iobroker/node_modules/.acorn-zHERliMH' npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-09-06T08_16_08_121Z-debug-0.log
Sorry, aber habe das Gefühl, dass nichts mehr funktioniert wie es soll
Hinweis: Auf dem Raspberry ist auch eine Pihole-Version drauf, die aktuell nicht genutzt wird. Ich weiß nicht ob es einen Einfluss hat.
-
Erstmal schauen wie die Grundlagen da bei dir aussehen:
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
-
@thomas-braun said in Adapter updaten nicht mehr nach Update auf Node.js 16.17.0:
sudo ln -s /usr/bin/node /usr/bin/nodejs
pi@raspberrypi:~ $ 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
-
Ja, das ist okay, die Datei gibt es schon.
-
@weiland said in Adapter updaten nicht mehr nach Update auf Node.js 16.17.0:
ln: die symbolische Verknüpfung '/usr/bin/nodejs' konnte nicht angelegt werden: Die Datei existiert bereits
pi@raspberrypi:~ $ 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 armv7l /usr/bin/nodejs /usr/bin/node /usr/local/bin/npm v16.17.0 v16.17.0 8.19.1 pi /home/pi OK:1 http://archive.raspberrypi.org/debian buster InRelease OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:3 https://deb.nodesource.com/node_16.x buster InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. 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 buster/main armhf Packages 100 /var/lib/dpkg/status 10.24.0~dfsg-1~deb10u1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
-
@weiland sagte in Adapter updaten nicht mehr nach Update auf Node.js 16.17.0:
/usr/local/bin/npm
Das ist falsch.
sudo rm /usr/local/bin/npm type -P nodejs node npm && nodejs
-
Das habe ich auch in deiner Anleitung gelesen, aber wie behebe ich den Fehler?
-
-
Sorry, mein Fehler.
Jetzt sieht es so aus:
pi@raspberrypi:~ $ 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 armv7l /usr/bin/nodejs /usr/bin/node /usr/bin/npm v16.17.0 v16.17.0 8.15.0 pi /home/pi OK:1 http://archive.raspberrypi.org/debian buster InRelease OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:3 https://deb.nodesource.com/node_16.x buster InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. 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 buster/main armhf Packages 100 /var/lib/dpkg/status 10.24.0~dfsg-1~deb10u1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages pi@raspberrypi:~ $
Jetzt nochmal die Anleitung komplett durchgehen bis Fehler kommen?
-
for i in $(find /opt/iobroker/node_modules -type d -iname ".*-????????" ! -iname ".local-chromium"); do rm -rf ${i%%/}; done
sollte das Problem mit den Adapter-Updates lösen.
iobroker update -i iobroker upgrade all
-
@weiland said in Adapter updaten nicht mehr nach Update auf Node.js 16.17.0:
Jetzt nochmal die Anleitung komplett durchgehen bis Fehler kommen?
Sieht noch nicht gut aus.
pi@raspberrypi:~ $ cd /opt/iobroker pi@raspberrypi:/opt/iobroker $ npm ls | grep -E 'github|ERR' npm ERR! code ELSPROBLEMS npm ERR! extraneous: @types/component-emitter@1.2.11 /opt/iobroker/node_modules/@types/component-emitter npm ERR! extraneous: @types/cookie@0.4.1 /opt/iobroker/node_modules/@types/cookie npm ERR! extraneous: @types/cors@2.8.12 /opt/iobroker/node_modules/@types/cors npm ERR! invalid: iobroker.node-red@4.0.0 /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-09-06T08_34_41_336Z-debug-0.log pi@raspberrypi:/opt/iobroker $ cd /opt/iobroker && npm prune npm WARN old lockfile npm WARN old lockfile The package-lock.json file was created with an old version of npm, npm WARN old lockfile so supplemental metadata must be fetched from the registry. npm WARN old lockfile npm WARN old lockfile This is a one-time fix-up, please be patient... npm WARN old lockfile npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/acorn npm ERR! dest /opt/iobroker/node_modules/.acorn-zHERliMH npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/acorn' -> '/opt/iobroker/node_modules/.acorn-zHERliMH' npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-09-06T08_35_22_749Z-debug-0.log pi@raspberrypi:/opt/iobroker $
-
Hast du
for i in $(find /opt/iobroker/node_modules -type d -iname ".*-????????" ! -iname ".local-chromium"); do rm -rf ${i%%/}; done
ausgeführt?
-
@thomas-braun said in Adapter updaten nicht mehr nach Update auf Node.js 16.17.0:
for i in $(find /opt/iobroker/node_modules -type d -iname ".*-????????" ! -iname ".local-chromium"); do rm -rf ${i%%/}; done
Hier fehlen wohl Berechtigungen, in ioBroker?
Gekürzt:
rm: das Entfernen von '/opt/iobroker/node_modules/.js-yaml-mxBLENxb/lib/js-yaml/type/set.js' ist nicht möglich: Keine Berechtigung rm: das Entfernen von '/opt/iobroker/node_modules/.js-yaml-mxBLENxb/lib/js-yaml/type/timestamp.js' ist nicht möglich: Keine Berechtigung rm: das Entfernen von '/opt/iobroker/node_modules/.js-yaml-mxBLENxb/lib/js-yaml/type/pairs.js' ist nicht möglich: Keine Berechtigung rm: das Entfernen von '/opt/iobroker/node_modules/.js-yaml-mxBLENxb/lib/js-yaml/type/null.js' ist nicht möglich: Keine Berechtigung rm: das Entfernen von '/opt/iobroker/node_modules/.js-yaml-mxBLENxb/lib/js-yaml/type/merge.js' ist nicht möglich: Keine Berechtigung rm: das Entfernen von '/opt/iobroker/node_modules/.js-yaml-mxBLENxb/lib/js-yaml/schema.js' ist nicht möglich: Keine Berechtigung rm: das Entfernen von '/opt/iobroker/node_modules/.js-yaml-mxBLENxb/lib/js-yaml.js' ist nicht möglich: Keine Berechtigung rm: das Entfernen von '/opt/iobroker/node_modules/.js-yaml-mxBLENxb/dist/js-yaml.min.js' ist nicht möglich: Keine Berechtigung rm: das Entfernen von '/opt/iobroker/node_modules/.js-yaml-mxBLENxb/dist/js-yaml.js' ist nicht möglich: Keine Berechtigung
-
Dann hast du da vermutlich mal als root herumgeschraubt, denn eigentlich reichen die Berechtigungen von 'pi' aus.
groups iobroker stop iobroker fix for i in $(find /opt/iobroker/node_modules -type d -iname ".*-????????" ! -iname ".local-chromium"); do rm -rf ${i%%/}; done
-
@thomas-braun said in Adapter updaten nicht mehr nach Update auf Node.js 16.17.0:
for i in $(find /opt/iobroker/node_modules -type d -iname ".*-????????" ! -iname ".local-chromium"); do rm -rf ${i%%/}; done
Ich hoffe das war kein Problem "groups" zwischenzuschieben:
pi@raspberrypi:~ $ iobroker stop iobrokepi@raspberrypi:~ $ pi@raspberrypi:~ $ iobroker fix library: loaded Library version=2022-06-15 ========================================================================== Welcome to the ioBroker installation fixer! Script version: 2022-06-03 You might need to enter your password a couple of times. ========================================================================== ========================================================================== Installing prerequisites (1/3) ========================================================================== OK:1 http://archive.raspberrypi.org/debian buster InRelease OK:2 https://deb.nodesource.com/node_16.x buster InRelease OK:3 http://raspbian.raspberrypi.org/raspbian buster InRelease Paketlisten werden gelesen... Fertig Installed gcc-c++ Installed cmake ========================================================================== Checking ioBroker user and directory permissions (2/3) ========================================================================== Created /etc/sudoers.d/iobroker Fixing directory permissions... ========================================================================== Checking autostart (3/3) ========================================================================== Enabling autostart... Autostart enabled! ========================================================================== Your installation was fixed successfully Run iobroker start to start ioBroker again! ========================================================================== pi@raspberrypi:~ $ groups pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi iobroker pi@raspberrypi:~ $ for i in $(find /opt/iobroker/node_modules -type d -iname ".*-????????" ! -iname ".local-chromium"); do rm -rf ${i%%/}; done pi@raspberrypi:~ $
-
@weiland sagte in Adapter updaten nicht mehr nach Update auf Node.js 16.17.0:
Ich hoffe das war kein Problem "groups" zwischenzuschieben:
Nein, dient nur zur Info für mich, ob die Gruppenzugehörigkeiten richtig sind.
Sind sie, und nach dem Fix kommst du ja auch an die Verzeichnisse ran.
Also hast du da mal mit zu hohen Rechten herumgefummelt. Mit 'sudo' oder direkt als root. Ist beides verboten im Zusammenhang mit dem ioBroker.