NEWS
[How-to] Node.js für ioBroker richtig updaten
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
Neu
sudo apt install -y ca-certificates curl gnupg curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg NODE_MAJOR=18 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list sudo apt-get install nodejs npm -y
quelle: https://deb.nodesource.com/
mit
NODE_MAJOR=18
kann man die Version bestimmen.Das hat bei mir nicht funktioniert.
The following packages have unmet dependencies: libnode72 : Conflicts: nodejs-legacy nodejs : Conflicts: npm E: Unable to correct problems, you have held broken packages. root@iobroker:/opt/iobroker#
Muss ich irgendwas deinstallieren?
Habe zwischenzeitlich diesen Link gefunden.
https://github.com/Chia-Network/chia-blockchain/discussions/9673Nach iobroekr start habe ich aber plötzlich die aktuelle 18.17.1 Seltsam.
-
@oberfragger sagte in [How-to] Node.js für ioBroker richtig updaten:
Muss ich irgendwas deinstallieren?
Ja.
sudo apt remove libnode72 npm nodejs-legacy
Und hampel da nicht als root herum.
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
quelle: https://deb.nodesource.com/
da steht aber NICHTS von npm installieren so wie du es da stehen hast. Die Installation von nodejs beinhaltet bereits npm. Bitte ändere das ab damit sich dieser Unsinn nicht verbreitet
-
@fastfoot ich setze jedes Mal einen Docker neu auf. NPM fehlte jedes Mal wenn ich nur NODEJS im apt hatte.
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
NPM fehlte jedes Mal wenn ich nur NODEJS im apt hatte.
Das kann nicht sein, npm ist Bestandteil des nodejs-Pakets (Jedenfalls so wie es von nodesource zusammengebaut wird).
Das nodejs in der dfsg-Version kommt allerdings ohne npm mit. Streng nach der Debian-Herangehensweise, Pakete möglichst modular und schlank aufzubauen.Und weil das so ist knallt das auch oben bei dir.
Edit... War ja gar nicht bei dir, wo das knallt... -
@plchome-0 ich setze ständig neue Container auf und installiere node, hundert mal in den letzten Wochen ist nicht übertrieben, und npm hat da nie gefehlt. es ging mir auch darum dass wenn du schon eine quelle nennst du sie nicht einfach abändern kannst!
-
Prüfe ob das jetzt da alles senkrecht ist bei dir.
Das schaut irgendwie schräg aus.iob diag
oder damit:
https://forum.iobroker.net/topic/68035/iob-node-fix-skript -
@fastfoot sagte in [How-to] Node.js für ioBroker richtig updaten:
@plchome-0 ich setze ständig neue Container auf und installiere node, hundert mal in den letzten Wochen ist nicht übertrieben,
Ich brauche keine Hundert container: Also neuer Container unter Bookworm, mit genau dem was oben steht und nix npm.
Wenn man die 20 installiert, ist npm es drauf.
Meines Wissens nach soll der ioB aber unter 18 laufen.
Es gibt auch noch weitere Problemen unter bullseye kommt, wenn man die 18 einträgt eine 12.Ist wohl alles nicht so ausgereift.
-
nodejs v18.13.0 ist die dfsg-Variante aus dem Debian-Repository.
Die will man nicht verwenden, weswegen der Installer eigentlich auch da schon das nodesource-Repo (in obsoleter Form) reinholt.Aus Screenshots kann man nicht kopieren, stell Text aus der Konsole auch als Text in CodeTags rein. Danke.
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
Ist wohl alles nicht so ausgereift.
Naja, du installierst die falschen Pakete.
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
Ist wohl alles nicht so ausgereift.
ehrlich!??
-
@thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:
Naja, du installierst die falschen Pakete.
warum eig. wird bei ihm die dfsg Variante bevorzugt installiert?
-
@plchome-0 sagte in [How-to] Node.js für ioBroker richtig updaten:
Ich brauche keine Hundert container:
ich schon, für dich würde aber einer reichen, wenn es denn der offizielle von buanet wäre und nicht was eigengefrickeltes. dann müsstest du auch hier nicht falsche tips verbreiten, auch wenn das sicherlich in guter Absicht geschehen ist
-
@fastfoot sagte in [How-to] Node.js für ioBroker richtig updaten:
warum eig. wird bei ihm die dfsg Variante bevorzugt installiert?
Ohne zu wissen wie da was (in welcher Reihenfolge) installiert wurde schwer bis unmöglich zu sagen.
Der iob-Installer schleppt jedenfalls das nodesource-Repo im 18er-Zweig an und installiert dann die höchste verfügbare Version des Pakets 'nodejs'.
Mitapt policy nodejs
könnte man die Rangfolge sehen.
-
@thomas-braun nun ja, er beauptet ja dass er das nach Anleitung von https://deb.nodesource.com installiert hat die da lautet:
sudo apt install -y ca-certificates curl gnupg curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg NODE_MAJOR=18 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list sudo apt-get install nodejs -y
aber ich glaube ich habs gefunden: wenn node bereits installiert ist dann muss zwischen Zeile 4 und 5 unbedingt ein
apt update
rein, damit das neue Repo auch gezogen wird, sonst wird so installiert wie es im cache steht -
Deswegen schreibt auch dieser andere Typ da sowas in sein HowTo rein:
Dann das nodesource-Repository wieder anlegen lassen:
NODE_MAJOR=18 sudo apt update sudo apt install -y ca-certificates curl gnupg sudo mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list sudo apt update sudo apt install nodejs
Wobei die Anleitung von nodesource das auch macht:
3. Run Update and Install sudo apt-get update sudo apt-get install nodejs -y
Das kann es also nicht sein, was da 'noch nicht so ausgereift' ist.
Ich vermute weiterhin ein falsche Installation in irgendeiner Form. -
@thomas-braun ja, und auch die Herren von deb.nodesource.com schreiben es genau so vor(erst jetzt gesehen).
Ein weiterer Grund nicht auf Quellen zu verweisen nachdem man deren Inhalt modifiziert hat. Das verleiht eine Seriosität die schlicht nicht gegeben ist.
Kann also bitte jemand den Unsinn hier verbessern, wenn sich der Ersteller schon verweigert? @Homoran ? Führt nur zu weiteren Fehlinstallationen!
-
@thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:
Ich vermute weiterhin
ja klar, er schreibt ja wie er es gemacht hat, nämlich ohne vorheriges update. Keine Ahnung wie man ein einfaches C&P verhunzen kann
-
Für die Interessierten:
Im nodesource-nodejs steht dies in der Paket-Definition:Replaces: nodejs-dev (<= 0.8.22), nodejs-legacy, npm (<= 1.2.14) Provides: nodejs-dev, nodejs-doc, nodejs-legacy, npm Depends: libc6 (>= 2.28), python3, ca-certificates Conflicts: nodejs-dev, nodejs-doc, nodejs-legacy, npm
Damit wird ausgeschlossen, das eines der vier Pakete parallel installiert sein darf. (Es sei denn, man prügelt das mit Gewalt in die Datenbank rein... Aber das gibt dann ganz fieses Kopfweh im weiteren).
Und für die noch Interessierteren: 'apt' geht mit diesen Vorgaben anders um als 'apt-get', weswegen es auch zu den oben gesehenen Meldungen kommt.
Und das ist auch der Grund warum ich in der Kommandozeile immer zu 'apt' greife. In Skripten sieht das wieder anders aus, da bevorzugt man 'apt-get'. -
@fastfoot sagte in [How-to] Node.js für ioBroker richtig updaten:
Ein weiterer Grund nicht auf Quellen zu verweisen nachdem man deren Inhalt modifiziert hat. Das verleiht eine Seriosität die schlicht nicht gegeben ist.
ja!
diese Unsitte nachträglich andere ins Unrecht zu setzen, indem man seinen Beitrag ohne Kennzeichnung ändert und damit den weiteren Threadverlauf unsinnig macht, nimmt leider immer mehr zu.Was sollte ich denn hier anpassen?
oder den alten Zustand wieder herstellen?