NEWS
[How-to] Node.js für ioBroker richtig updaten
-
@marcuskl hattest du wirklich beides komplett entfernt?
auch das berücksichtigt?
pfad anpassen !
und nach den remove-Befehlen nochmals zur Sicherheit getestet ob es noch was gibt?
-
@Homoran ich habe ein Rollback gemacht und bin nochmal nach der Anleitung vorgegangen.
Diesmal habe ich danach nochmal kontrolliert mit node -v ob alles weg ist, es war aber noch da
root@iobroker:~# which node /usr/local/bin/node root@iobroker:~# which nodejs /usr/bin/nodejs root@iobroker:~# rm /usr/local/bin/node root@iobroker:~# rm /usr/bin/nodejs root@iobroker:~# node -v v10.19.0 root@iobroker:~# which node /usr/bin/node root@iobroker:~# rm /usr/bin/node root@iobroker:~# ode -v -bash: ode: Kommando nicht gefunden. root@iobroker:~# node -v -bash: /usr/bin/node: Datei oder Verzeichnis nicht gefunden root@iobroker:~# nodejs -v -bash: nodejs: Kommando nicht gefunden.
Habe nochmal rm /pfad/node gemacht, danach war alles weg.
Aber jetzt lässt sich nodejs nicht mehr installieren, er sagt mir es ist schon drauf:root@iobroker:~# sudo apt install -y nodejs Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig nodejs ist schon die neueste Version (10.19.0-1nodesource1). Das folgende Paket wurde automatisch installiert und wird nicht mehr benötigt: linux-image-4.9.0-8-amd64 Verwenden Sie »sudo apt autoremove«, um es zu entfernen. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Dabei kommt gar nichts wenn ich node -v, nodejs -v eingebe:
root@iobroker:~# node -v -bash: /usr/bin/node: Datei oder Verzeichnis nicht gefunden root@iobroker:~# nodejs -v -bash: nodejs: Kommando nicht gefunden. root@iobroker:~# npm -v /usr/bin/env: „node“: Datei oder Verzeichnis nicht gefunden root@iobroker:~#
-
@marcuskl Du meldest dich als root an und gleichzeitig rödelst du da mit sudo herum. Das beißt sich ggf., mit dem $PATH. Also den Blödsinn mit root bleiben lassen und als einfacher User anmelden. Dann passt auch der sudo angeführte apt-Befehl.
-
@Thomas-Braun habe das sudo einfach aus Faulheit gelassen, stört ja net.
@Homoran Paul hat mir weitergeholfen, funktioniert jetzt und danke für deine Hilfe!!
-
@marcuskl Doch, das stört u. U. schon.
root hat andere Pfade in $PATH als ein normaler User. Und so kann es passieren, dass node nicht im Pfad liegt.
Und es ist einfach auch ganz schlechter Stil als root angemeldet zu sein. Normaler User und dann per sudo in die root-Rolle wechseln ist einfach wesentlich sauberer. Dann passen auch die Anleitungen wieder. Und man installiert auch nix irgendwo am package manager vorbei irgendwo ins System. -
@marcuskl warum alles doppelt in zwei Threads???
da weiß man gar nicht wo du jetzt wirklich dran bist! -
@Thomas-Braun ok wusste ich nicht
@Homoran dachte vllt kann Paul da auch weiterhelfen
-
@Thomas-Braun ich habe versucht mit meinen normalen Konto mit sudo vorzugehen, aber da steht ich habe keine Rechte um sudo Befehle auszuführen.
Wie verge ich die Rechte?
-
@marcuskl
ich habe das immer im Root gemacht, also:sudo -i (Schaltet auf Root um) apt update && apt upgrade
bisher ging es bei mir immer so.
Danach noch einreboot
und alles müsste gut sein.
-
@MathiasJ bei mir geht es nicht, es kommt das hier:
klotzma@iobroker:~$ sudo -i [sudo] Passwort für klotzma: Leider darf der Benutzer klotzma »/bin/bash« als root auf iobroker nicht ausführen.
-
@marcuskl
Du hast auch einen neuen Benutzer hinzugefügt?
Laß mich raten:
Du hast nur adduser klotzma und passwd klotzma ausgeführt?
Dann mußt Du den Nutzer klotzma noch bei den Gruppen hinzufügen:mit sudo -i meldest Du Dich als Root an.
useradd -m [username] anlegen eines neuen users mit home-Verzeichnis passwd [username] Passwort eines neuen users vergeben usermod -s bin/bash [username] Kommandozeilen hinzufügen usermod -g users [username] Zuweisen hauptgruppe User gpasswd -a [username] ssh Zur benutzergruppe ssh hinzufügen gpasswd -a [username] sudo Zur Benutzergruppe sudo hinzufügen id [username] Gruppenzugehörigkeit prüfen
User testen:
su [username]
User deaktivieren:
sudo -i usermod -L [username] passwd -l [username]
Du hast Dich wahrscheinlich selbst ausgesperrt, indem Du die Rechte beim Anlegen des neuen Users nicht vergeben hast.
Du hast wahrscheinlich auch den alten User gelöscht, somit kommst Du da nimmer rein. -
Den Benutzer klotzma habe ich bei der Installation von Debian angelegt.
Bei
su klotzma
kommt das hier:root@iobroker:~# su klotzma su: failed to execute bin/bash: Keine Berechtigung
Jetzt kann ich mich nach ausführen deiner Befehle nicht mehr über SSH mit den user klotzma einloggen.
In der Konsole kann ich mich auch nicht mehr mit klotzma anmelden, werde nach dem einloggen sofort wieder ausgeloggt.Sobald ich mich mit Putty jetzt mit klozma anmelde, wird Putty sofort geschlossen.
Wie mache ich das jetzt wieder rückgängig ?
-
welche befehle?
ich habe Dir 2 verschiedene geschickt.- Kasten oben, oder 2. Kasten unten?
Wenn die die im 2. Kasten unten ausgeführt hast, hast Du den User klotzma deaktiviert.
- Kasten oben, oder 2. Kasten unten?
-
-
Wie aktualisiert man eigentlich RICHTIG Node.js und npm bei einer Windows Installation die mit dem ioBroker Installer 2.1b durchgeführt wurde?
Es gibt ja im ioBroker Verzeichnis den Ordner nodejs. Kann man den Inhalt einfach gegen eine höhere Version austauschen (Copy & Paste) oder muss man die höhere Version dort hinein installieren? Weil Standard mäßig wird node unter Windows ja in die Programm Ordner / (86) installiert.
Ist auch bei dem ioBroker nodejs Ordner darauf zu achten welches BS (64/32bit) man dort hinein installiert / kopiert?
npm muss dann anschließend ebenfalls aktualisiert werden? ( npm install -g npm@latest )
-
Vielen Dank für die Anleitung!
Ich habe in meinem Produktiv-System (Debian unter Proxmox) letztens erfolgreich Update von node.js 10 auf 12.16.1 durchgeführt
Zur Anleitung:
Punkt 4, a) npm rebuild mäkelte Module in "/node_modules" an, hatte dann nach und nach diese manuell aktualisiert und jew.npm rebuild
neu ausgeführt. Nach der dritten Aktualisierung hatte ich keine Lust mehr. Also dann einfach c) Reset aller Module in node_modules durchgeführt.
Alle Adapter, Scripte usw. laufen sauber wie gewohnt -
.....und ich warte immer noch auf Antwort des Programmierers wegen Bluetooth.
Das Issue auf Github habe ich vor 2 Wochen schon erstellt.
Gruß,
Mathias -
Ich habe gestern IObroker VM auf meinem NUC installiert und das Backup eingespielt.
Der läuft jetzt die ganze Nacht ohne Störungen durch.
Eine Frage noch, die eigentlich nicht hier her gehört:
Gibt's sowas wie ein zurücksetzen oder Reset? Ich muß bald sowieso alles neu machen.
Gruß,
Mathias -
@MathiasJ und warum fragst du hier wenn du schon weißt das es nicht hier her gehört?
Ein eigener thread wäre sinnvoll wenn du bei den cli Kommandos in der Doku nicht selbst fündig wirst. -
So, eine neue SD Karte geflasht, IObroker installiert mit Node 12, IObroker.ble und IObroker.radar laufen immer noch nicht. Wie auf der damaligen Testinstallation läuft Bluetooth low energy nicht.
Siehe auch https://forum.iobroker.net/topic/23703/testinstallation-unter-node-12-6-0/33