Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapterupdates nicht möglich

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Adapterupdates nicht möglich

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Tjaden @Thomas Braun last edited by Tjaden

      @thomas-braun

      @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/node

      Installier 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.

      Thomas Braun Homoran 3 Replies Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @Tjaden last edited by

        @tjaden

        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.

        1 Reply Last reply Reply Quote 0
        • Thomas Braun
          Thomas Braun Most Active @Tjaden last edited by

          @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/node

          Chaos... In /usr/local/bin darf node gar nicht liegen.
          Der genannte ln -s Befehl verknüpft auch nichts aus /usr/local/bin.

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Tjaden last edited by

            @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!

            T 1 Reply Last reply Reply Quote 0
            • T
              Tjaden @Homoran last edited by Tjaden

              @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.

              Homoran Thomas Braun haselchen 4 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Tjaden last edited by

                @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

                T 1 Reply Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @Tjaden last edited by Thomas Braun

                  @tjaden Mal in das bereits genannte HowTo zu nodeJS geschaut?
                  Da steht soweit eigentlich alles drin.

                  1 Reply Last reply Reply Quote 0
                  • Thomas Braun
                    Thomas Braun Most Active @Tjaden last edited by

                    @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.

                    Homoran T 2 Replies Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @Thomas Braun last edited by

                      @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

                      1 Reply Last reply Reply Quote 0
                      • haselchen
                        haselchen Most Active @Tjaden last edited by

                        @tjaden

                        Nur der Richtigkeithalber:

                        Seit Node 12 funktioniert pkill io nicht mehr wie erwartet. Stattdessen pkill node oder pkill -u iobroker

                        T 1 Reply Last reply Reply Quote 1
                        • T
                          Tjaden @Thomas Braun last edited by

                          @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:

                          8f4cbeb5-67c1-4e52-8d46-e7a74ccd3561-image.png

                          Thomas Braun 1 Reply Last reply Reply Quote 0
                          • T
                            Tjaden @haselchen last edited by

                            @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
                            
                            1 Reply Last reply Reply Quote 0
                            • Thomas Braun
                              Thomas Braun Most Active @Tjaden last edited by Thomas Braun

                              @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
                              
                              T 1 Reply Last reply Reply Quote 1
                              • T
                                Tjaden @Thomas Braun last edited by

                                @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 🙄

                                1 Reply Last reply Reply Quote 0
                                • Thomas Braun
                                  Thomas Braun Most Active last edited by Thomas Braun

                                  @tjaden sagte in Adapterupdates nicht möglich:

                                  (wobei ich ja etwas wie "del" als Befehl erwarten würde)

                                  Andere Baustelle. Linux ist nicht Windows.

                                  Wenn nano nicht drauf ist, dann installier es nach:

                                  apt install nano
                                  

                                  Und bitte beschränke dich auf diesen Thread, ich kann nicht sehen was du da ggf. noch von gottweißwoher noch an Anleitungen anschleppst. Das gibt nur Chaos.

                                  T 1 Reply Last reply Reply Quote 1
                                  • T
                                    Tjaden @Thomas Braun last edited by

                                    @thomas-braun Das mit dem node hätte ich mir wohl schenken können, denn die 14 stand bereits drin: 14a3b59e-de39-4407-a9dc-f118cd59f316-image.png

                                    Okay, jetzt habe ich:

                                    root@iobroker:/opt/iobroker# nodejs -v                                                                               
                                    v14.18.1                                                                                                             
                                    root@iobroker:/opt/iobroker# node -v                                                                                 
                                    bash: /usr/local/bin/node: Datei oder Verzeichnis nicht gefunden                                                     
                                    root@iobroker:/opt/iobroker# npm -v                                                                                  
                                    bash: /usr/local/bin/npm: Datei oder Verzeichnis nicht gefunden 
                                    

                                    Nun weiß ich nicht, woher er weiß in welchem Ordner node und npm liegen müssen. Wenn ich dich recht verstanden habe, ist /local immer falsch. Gibt es da so etwas wie eine Registry, die den Anfragen nach der Versionsnummer sagt, in welchem Ordner sie nachschauen muss?

                                    Oder sind node und npm schlicht nicht mehr installiert, dank rm?

                                    Wo ist der Unterschied zwischen node und nodejs?

                                    In deiner Anleitung steht:
                                    "Finger weg und ignorieren! npm wird am besten nur wie üblich via apt (ist im Paket nodejs enthalten) aktuell gehalten. Dann passt die Version auch zum Rest."

                                    Wie funktioniert das?

                                    Einfach apt install npm? Oder "npm6"?

                                    Thomas Braun 1 Reply Last reply Reply Quote 0
                                    • Thomas Braun
                                      Thomas Braun Most Active @Tjaden last edited by Thomas Braun

                                      @tjaden

                                      Gibt es da so etwas wie eine Registry, die den Anfragen nach der Versionsnummer sagt, in welchem Ordner sie nachschauen muss?

                                      Nein, es gibt keine Registry. Wenn ein Befehl abgesetzt wird sucht das System im sog. $PATH danach.
                                      Das ist bei dir aber noch ein alter Eintrag, deswegen findet das System im Moment die richtige Version noch nicht. Einmal ausloggen und wieder einloggen.

                                      Wo ist der Unterschied zwischen node und nodejs?

                                      Es gibt keinen. Das ist das gleiche bin-file. Wird nur aus historischen Gründen miteinander verlinkt. In ganz aktuellen Versionen wird nodejs auch gar nicht mehr angelegt.

                                      Wie funktioniert das?

                                      Das funktioniert jetzt wie alle anderen Updates auch.
                                      Aber das hast du offenbar ja nie gemacht.

                                      Mit

                                      apt update
                                      apt dist-upgrade
                                      

                                      bringst du das ganze Konstrukt mit zwei Befehlen auf Stand.
                                      Docker bitte danach einmal neustarten.

                                      Einfach apt install npm? Oder "npm6"?

                                      Weder noch. npm wird nicht separat installiert, das ist Bestandteil des Paketes 'nodejs'.

                                      T 1 Reply Last reply Reply Quote 1
                                      • T
                                        Tjaden @Thomas Braun last edited by

                                        @thomas-braun Danke für deine Geduld. Langsam wird ein Schuh draus.

                                        Ich habe natürlich genau so wie für node immer nach einem Einzelupdate gesucht. APT ist dann also ein Paketmanager und via "apt update" mache ich quasi ein "fetch" und per "apt dist-upgrade" ein "pull" für die gesamte Distribution(?)

                                        Warum ist node dann nicht auch darin enthalten? Das ist eben das Unpraktische an einem Terminal: Wenn man nach 1/2 Jahr nicht mehr weiß, was man gemacht hat (und das auch nicht wusste, während man es tat), "sieht" man das auch ohne entsprechende Befehle nicht mehr und tappst im Dunkeln herum. Ich hätte jetzt glatt gedacht (wenngleich ich das auch als sehr unpraktisch und daher merkwürdig empfunden hätte), dass ich alle Pakete einzeln updaten muss, genau so wie node.

                                        Ergebnis nach Neustart 😊:

                                        root@iobroker:/opt/iobroker# npm -v                                                                                  
                                        6.14.15                                                                                                              
                                        root@iobroker:/opt/iobroker# node -v                                                                                 
                                        v14.18.1    
                                        
                                        $ iobroker upgrade alexa2@3.11.2
                                        
                                        Update alexa2 from @3.9.3 to @3.11.2
                                        
                                        NPM version: 6.14.15
                                        
                                        npm install iobroker.alexa2@3.11.2 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call)
                                        
                                        Update "system.adapter.alexa2.0"
                                        
                                        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
                                        

                                        Also vielen lieben Dank vor allem für deine, als auch die Hilfe der anderen!

                                        Thomas Braun Homoran 2 Replies Last reply Reply Quote 0
                                        • Thomas Braun
                                          Thomas Braun Most Active @Tjaden last edited by Thomas Braun

                                          @tjaden

                                          APT ist dann also ein Paketmanager und via "apt update" mache ich quasi ein "fetch" und per "apt dist-upgrade" ein "pull" für die gesamte Distribution(?)

                                          Ja, 'apt update' schlägt die Tages-Karte auf und schaut was es Neues im Angebot gibt, 'apt dist-upgrade' gibt dann die Bestellung der neuen Köstlichkeiten auf.

                                          Warum ist node dann nicht auch darin enthalten?

                                          Was meinst du? Richtig konfiguriert ist node ja enthalten.
                                          nodesource baut das Paket nodejs als 'rundumglücklich Angebot' zusammen, debian macht das mit den eigenen Paketen anders, da müsste man jedes node-Modul einzeln installieren und aktuell halten. Hat beides Vor- und Nachteile.

                                          Was sagt jetzt

                                          which nodejs node npm && nodejs -v && node -v && npm -v && apt update && apt update && apt policy nodejs
                                          
                                          T 1 Reply Last reply Reply Quote 1
                                          • T
                                            Tjaden @Homoran last edited by Tjaden

                                            @homoran Deine Nachricht hatte ich bisher wohl übersehen:

                                            Warum tue ich mir Docker an? Weil ich damals nach einer Lösung für die Heimautomation suchte und diese gerne auf meinem NAS laufen lassen wollte. Ich sah dann dass es die Möglichkeit in Docker gibt und Docker läuft ja nativ auf dem NAS.

                                            Wenn du so fragst kann man da sicher auch via VM Linux drauf laufen lassen. Aber da kommt man nicht drauf, wenn man normalerweise kein Linux nutzt. Ich ging damals naiv davon aus dass man iobroker ein mal installiert (in Docker) und dann alle Updates direkt über die Weboberfläche laufen. Ich könnte mir auch vorstellen, dass eine VM meine ohnehin recht beanspruchte DS218+ dann überbeansprucht, bzw. zumindest mehr belastet als der iobroker-Docker-Container.

                                            Homoran 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            826
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            52
                                            2782
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo