NEWS
Adapterupdates nicht möglich
-
Hallo zusammen,
ich habe gerade ein Update für Nodejs gemacht (da der Alexa2-Adapter dies forderte) und kann nun keinerlei Adapterupdates mehr installieren. Egal ob Admin, Alexa2, Broadlink2 usw.
Exemplarisch hier die Meldung beim Versuch vom Update des Alexa2-Adapters:
$ iobroker upgrade alexa2@3.11.2 Update alexa2 from @3.9.3 to @3.11.2 NPM version: 8.1.4 npm install iobroker.alexa2@3.11.2 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) npm ERR! code E404 npm ERR! 404 Not Found - GET https://codeload.github.com/homeinstalator/syno/legacy.tar.gz/masternpm ERR! 404 npm ERR! 404 'syno@https://github.com/homeinstalator/syno/tarball/master/' is not in this registry.npm ERR! 404 You should bug the author to publish it (or use the name yourself!)npm ERR! 404 npm ERR! 404 Note that you can also install from anpm ERR! 404 tarball, folder, http url, or git url. npm ERR! A complete log of this run can be found in:npm ERR! /root/.npm/_logs/2021-11-27T15_51_13_330Z-debug.log upload [20] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/raspi.png icons/raspi.png image/png upload [19] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/multiroom.png icons/multiroom.png image/png upload [18] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/microphone.png icons/microphone.png image/png upload [17] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/firetv.png icons/firetv.png image/png upload [16] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/firetab.png icons/firetab.png image/png upload [15] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_sub.png icons/echo_sub.png image/png upload [14] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_studio.png icons/echo_studio.png image/png upload [13] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_show5.png icons/echo_show5.png image/png upload [12] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_show2.png icons/echo_show2.png image/png upload [11] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_show.png icons/echo_show.png image/png upload [10] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_plus2.png icons/echo_plus2.png image/png upload [9] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_flex.png icons/echo_flex.png image/png upload [8] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_dot4.png icons/echo_dot4.png image/png upload [7] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_dot3.png icons/echo_dot3.png image/png upload [6] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_dot.png icons/echo_dot.png image/png upload [5] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo4.png icons/echo4.png image/png upload [4] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo2.png icons/echo2.png image/png upload [3] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo.png icons/echo.png image/png upload [2] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo-input.png icons/echo-input.png image/png upload [1] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/apps.png icons/apps.png image/png upload [0] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/alexa.png alexa.png image/png Adapter "alexa2" updated Process exited with code 0
Auch wenn am Ende "Adapter "alexa2" updated" steht, so bleibt der Adapter doch bei der alten Version – auch nach Neustart des iobrokers.
Wie kann ich wieder Updates installieren?
-
-
@tjaden Die 8er npm-Installation muss zurück zur 6. Die funktioniert nicht mit ioBroker.
-
@tjaden sagte in Adapterupdates nicht möglich:
NPM version: 8.1.4
Falsch installiert. Da sollte npm@6 auftauchen.
Schau in meiner Signatur, wie es richtig geht. -
Danke für die schnellen Antworten!
@thomas-braun
leider funktioniert das Downgrade vianpm install -g npm@6.14.13
nicht.
npm -v
liefert immer noch 8.1.4
-
Richtig, man macht das ja auch nicht so.
Lies mein HowTo (siehe Signatur), da steht alles drin. -
@thomas-braun Das hatte ich mir angesehen, leider ergibt die Suche nach "downgrade" kein Ergebnis. Wonach muss ich suchen?
-
Erstmal schauen wo du da genau hängst:
which nodejs node npm && nodejs -v && node -v && npm -v && sudo apt update && sudo apt update && apt policy nodejs
-
@thomas-braun musste mir erst mal eine Autotype-funktion basteln, Strg+V funktioniert ja nicht in Docker ...
m -v && sudo apt update && sudo apt update && apt policy nodejs /usr/bin/nodejs /usr/local/bin/node /usr/local/bin/npm v16.13.0 v16.13.0 8.1.4 sudo: Hostname iobroker kann nicht aufgelöst werden OK:1 http://security.debian.org/debian-security stretch/updates InRelease Ign:2 http://deb.debian.org/debian stretch InRelease OK:3 http://deb.debian.org/debian stretch-updates InRelease OK:4 http://deb.debian.org/debian stretch Release OK:6 https://deb.nodesource.com/node_16.x stretch InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Aktualisierung für 112 Pakete verfügbar. Führen Sie »apt list --upgradable« au s, um sie anzuzeigen. sudo: Hostname iobroker kann nicht aufgelöst werden Ign:1 http://deb.debian.org/debian stretch InRelease OK:2 http://security.debian.org/debian-security stretch/updates InRelease OK:3 http://deb.debian.org/debian stretch-updates InRelease OK:4 http://deb.debian.org/debian stretch Release OK:5 https://deb.nodesource.com/node_16.x stretch InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Aktualisierung für 112 Pakete verfügbar. Führen Sie »apt list --upgradable« au s, um sie anzuzeigen. nodejs: Installiert: 16.13.0-1nodesource1 Installationskandidat: 16.13.0-1nodesource1 Versionstabelle: *** 16.13.0-1nodesource1 500 root@iobroker:/opt/iobroker# 500 https://deb.nodesource.com/node_16.x st retch/main amd64 Packages 100 /var/lib/dpkg/status 4.8.2~dfsg-1 500 500 http://deb.debian.org/debian stretch/main amd64 Packages
-
@tjaden sagte in Adapterupdates nicht möglich:
root@iobroker
Murks. Kein root-login! Auch nicht im Docker.
Aktualisierung für 112 Pakete verfügbar.
Halte das System auf Stand.
debian stretch
Ist nicht mehr unterstützt. Installier was lebendes, buster oder bullseye.
node_16.x
und
/usr/local/bin/nodeInstallier node14, dann im richtigen Pfad.
Strg+V funktioniert ja nicht in Docker
Rechte Maustaste in einem Terminal funktioniert nicht?
-
@thomas-braun said in Adapterupdates nicht möglich:
@tjaden sagte in Adapterupdates nicht möglich:
root@iobroker
Murks. Kein root-login! Auch nicht im Docker.
Meinst du mit der Aussage, ich solle mich nicht als "root" einloggen? Ich logge mich da gar nicht ein, ich öffne lediglich das Terminal in Docker – man ist dort automatisch eingeloggt.
Aktualisierung für 112 Pakete verfügbar.
Halte das System auf Stand.
Das war mein Plan heute, daher hatte ich die Updates von Node, iobroker und NPM gemacht. Was sind die anderen 109 Pakete? Und wir haben ja festgestellt dass Updates im Zusammenhang mit iobroker eher kontraproduktiv sind, wenn Node 16 und NPM 8 zu neue Versionen sind.
debian stretch
Ist nicht mehr unterstützt. Installier was lebendes, buster oder bullseye.
Keine Ahnung was das ist oder wie ich etwas "lebendes" installiere.
node_16.x
und
/usr/local/bin/nodeInstallier node14, dann im richtigen Pfad.
Das Update von Node 10 zu 16 hat mich ca. zwei Stunden gekostet, da trotz erfolgreichem Update am Ende immer Version 10.6 dort stand. Ich musste die 10er-Version deinstallieren und dann habe ich offenbar die Ordner /usr/local/bin/node und /usr/bin/node verknüpft, seitdem zeigt er die Version 16 statt 10 an.Nachtrag: Der Befehl lautete
sudo ln -s /usr/bin/nodejs /usr/bin/node
Mein einziger Kontakt zu Debian/Linux ist das Terminal in Docker auf meinem Synology NAS, sonst habe ich damit nichts am Hut. Bislang hatten die Updates nie so funktioniert wie in den Anleitungen hier beschrieben.
Ich versuche nun noch mal das Downgrade zu Node 14, leider hatte ich Docker neu gestartet und daher sind die Kommandos weg, die ich vorher mühsam ergoogelt habe.
-
Was sind die anderen 109 Pakete?
Das sind offenbar veraltete Pakte vom Betriebssystem.
Und wir haben ja festgestellt dass Updates im Zusammenhang mit iobroker eher kontraproduktiv sind, wenn Node 16 und NPM 8 zu neue Versionen sind.
Nein, DU hast aktiv node16 installiert, entgegen der Empfehlung node14 zu verwenden. Das kann man durch entsprechende nodesource-Repos ja ganz wunderbar steuern.
Keine Ahnung was das ist oder wie ich etwas "lebendes" installiere.
Sind die Namen der zur Zeit 'lebendigen' Releases von Debian.
Das Update von Node 10 zu 16 hat mich ca. zwei Stunden gekostet
Das sind 1:58 zu lang. Man muss lediglich in einer Datei ein Zeichen ersetzen und dann upgraden. Dann passt es sofort. So mache ich das im HowTo aus meiner Signatur.
-
@tjaden sagte in Adapterupdates nicht möglich:
dann habe ich offenbar die Ordner /usr/local/bin/node und /usr/bin/node verknüpft, seitdem zeigt er die Version 16 statt 10 an.
Nachtrag: Der Befehl lautete
sudo ln -s /usr/bin/nodejs /usr/bin/nodeChaos... In /usr/local/bin darf node gar nicht liegen.
Der genannte ln -s Befehl verknüpft auch nichts aus /usr/local/bin. -
@tjaden sagte in Adapterupdates nicht möglich:
Bislang hatten die Updates nie so funktioniert wie in den Anleitungen hier beschrieben.
dann war bislang schon deine Intsalltion immer krumm.
Zieh die hier einmalig wirklich gerade, dann fluppt es auch bei dir.
Und lass sie dann auch gerade! -
@homoran Bislang war ich froh, dass es nach viel anfänglichem trial and error irgendwann lief – und dies nun seit 2018. Wie gesagt, jedes Update ist immer ein großer Aufwand da die Anleitungen hier nicht wirklich funktionieren. "iobroker stop" z. B. funktioniert nicht, ich nutze dafür "pkill io", was meiner Annahme nach dem Umstand geschuldet ist dass iobroker bei mir im Docker auf der Synology NAS läuft.
@thomas-braun said in Adapterupdates nicht möglich:
Chaos... In /usr/local/bin darf node gar nicht liegen.
Okay, wie ändere ich das?
Der genannte ln -s Befehl verknüpft auch nichts aus /usr/local/bin.
Seit dem "ln -s Befehl" bekomme ich aber sowohl bei "node -v" als auch bei "nodejs -v" die gleiche Version angezeigt.
Bislang habe ich mich beim iobroker ausschließlich mit JS und VIS beschäftigt – eben zwecks Automatisierung einiger Vorgänge im Haus. Das klappt auch mehr oder weniger gut (alle paar Monate muss ich einige Skripte neu starten), aktuell beschäftige ich mich wieder damit weil die Speak-Befehle von Alexa2 nicht mehr funktionieren. (Ich habe ein JS geschrieben, welches entsprechende Durchsagen im Haus macht bei gewissen E-Mails. Das lief auch bis vor kurzem noch einwandfrei)
Sehr gerne würde ich das System geradeziehen und bin offen für Vorschläge. Leider fehlt mir das Hintergrundwissen, wie ich das mache.
-
@tjaden sagte in Adapterupdates nicht möglich:
ich nutze dafür "pkill io", was meiner Annahme nach dem Umstand geschuldet ist dass iobroker bei mir im Docker auf der Synology NAS läuft.
Ja!
aber warum tust du dir einen Docker an, wenn du mit
@tjaden sagte in Adapterupdates nicht möglich:
Debian/Linux ... damit nichts am Hut.
hast?
Ein Container erfordert immer deutlich mehr Kenntnisse/Aufwand als eine Installation auf reinem Linux.
Und bei Linux brauchst du auch nicht wirklich mehr Kenntnisse als bei einem Windows-Rechner.
Da programmierst du ja auch nicht auf Betriebssystemebene -
@tjaden Mal in das bereits genannte HowTo zu nodeJS geschaut?
Da steht soweit eigentlich alles drin. -
@tjaden sagte in Adapterupdates nicht möglich:
Wie gesagt, jedes Update ist immer ein großer Aufwand da die Anleitungen hier nicht wirklich funktionieren.
Freche Behauptung.
-
@thomas-braun sagte in Adapterupdates nicht möglich:
@tjaden sagte in Adapterupdates nicht möglich:
Wie gesagt, jedes Update ist immer ein großer Aufwand da die Anleitungen hier nicht wirklich funktionieren.
Freche Behauptung.
Naja,
Wenn @Tjaden sich ungefiltert die Linux-Anleitungen ansieht.
Da muss er schon bei Docker-Anleitungen nachsehen.
Die klappen dann auch -
Nur der Richtigkeithalber:
Seit Node 12 funktioniert pkill io nicht mehr wie erwartet. Stattdessen pkill node oder pkill -u iobroker