NEWS
Adapterupdates nicht möglich
-
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
-
@thomas-braun Pardon, das ist meine persönliche Erfahrung – kein Vorwurf. Was machst du beruflich, bist du angewandter Informatiker? Ich nicht. Ich würde gerne sehr individuell Hausautomation einrichten und habe mir selbst in verschiedenen Sprachen Programmieren beigebracht (JS, Java, C++, C#, PHP). Ansonsten bin ich Windows-Nutzer und mache selten einen Ausflug in andere Gefilde. Manchmal lässt sich das leider nicht umgehen, z. B. beim Pi oder eben beim iobroker. Das Problem ist dabei stets dass die Anleitungen zu diesen speziellen Anwendungsfällen nie davon ausgehen, dass jemand keine Ahnung von Linux hat. Da werden einem Befehle hingeklatscht die man dann brav blind abtippt und darauf hofft, dass das dann so passt. Das ist bei meiner Konstellation eben selten der Fall. Leider gehen die Autoren immer davon aus, dass man fast auf ihrem eigenen Wissensstand ist, wodurch einem der Einstieg nach Feierabend sehr schwer gemacht wird.
Und da ich nicht täglich damit arbeite, muss ich mir jedes Mal aufs Neue anlesen, wie das Ganze funktioniert. In der Regel schreibe ich mir dann selbst eine Anleitung, jedoch kommt immer mal was Neues dazu, wie nun z. B. das Downgrade von NPM 8 auf 6. Das habe ich übrigens immer noch nicht geschafft:
-
@haselchen Danke, dann nehme ich das so in meine Notizen zum Update vom js-controller auf:
iobroker update pkill node //oder pkill -u iobroker iobroker upgrade self iobroker plugin disable sentry iobroker start
-
@tjaden
Nein, ich bin auch kein Informatiker.Dann knall ich dir auch noch ein paar Befehle hin:
rm /usr/local/bin/node rm /usr/local/bin/npm
Dann per
nano /etc/apt/sources.list.d/nodesource.list
aus der 16 eine 14 machen, mit STRG-X abspeichern und nano verlassen.
apt update apt install --reinstall nodejs
-
@thomas-braun Vielen Dank. Das mit dem "rm" hatte ich auch grade hier gefunden: https://medium.com/@Quigley_Ja/specifying-npm-version-in-dockerfile-ee6e71a60945 und dank https://docs.docker.com/engine/reference/commandline/rm/ weiß ich nun dass das "remove" ist (wobei ich ja etwas wie "del" als Befehl erwarten würde)
"Nano" kennt mein Docker nicht:
root@iobroker:/opt/iobroker# nano /etc/apt/sources.list.d/nodesource.list bash: nano: Kommando nicht gefunden.
Und das ist wieder typisch. Nun bist du so nett mir hier zu helfen und ich renne gleich wieder in das nächste Problem