Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Node JS Update von v8 auf V10 schlägt fehl

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Node JS Update von v8 auf V10 schlägt fehl

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

      @samsungfreak Ja, jetzt scheint es ok zu sein.
      Du fährst ein Debian, oder? Im Docker?
      root-Login macht mich immer ganz nervös. Da kann man so schön alles verbiegen...
      Was kommt denn bei

      ls -la /usr/local/bin
      

      rum?

      realwax S 2 Replies Last reply Reply Quote 0
      • realwax
        realwax @Thomas Braun last edited by

        Zum Topic - aber nicht speziell zum letzten post:

        Ich habe nun 2 Major Version Upgrades erfolgreich durchgeführt. 8-10-12
        Egal ob im Master (docker auf QNAP) oder den clients (RBP3b+) es klappte nie ohne "n" auch wenn alles korrekt installiert wurde, habe ich immer die alte version angezeigt bekommen (node -v). Mit "n" ist das gelöst. Hier mein Weg der immer klappte mit "n" - falls ihr "n" nicht habt - geht einfach ins system "sudo npm install -g n" bzw hier nachlesen https://www.npmjs.com/package/n

        Unter dem user "pi" auf den raspb 3b+ bzw unter dem container user:

        cd /opt/iobroker/
        iobroker stop
        iobroker backup
        curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
        sudo apt-get install -y nodejs
        sudo n 12.16.3
        sudo npm install npm@latest -g
        node -v
        npm -v
        npm rebuild
        curl -sL https://iobroker.net/fix.sh | bash -
        iobroker start

        Viel Erfolg

        Wolfgang

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

          @realwax said in Node JS Update von v8 auf V10 schlägt fehl:

          sudo apt-get install -y nodejs
          sudo n 12.16.3

          Da machst du aber Dinge doppelt. Das könnte früher oder später wieder zu Problemen führen. Zum einen ziehst du über apt/dpkg ein nodejs inkl. node und npm aus dem nodesource-Repository, zum anderen auf einem zweiten, davon unabhängigen Weg über n dann nochmal ein separates node 12.16.3.
          Das liegt dann in $HOME/n bzw. $HOME/n/bin und dürfte eigentlich dann dort auch nicht mehr genutzt werden, denn

          pi@raspberrypi:~ $ echo $PATH
          /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
          

          Im besten Fall ist es überflüssig, stört aber auch nicht weiter; im blödsten Fall stolpert man doch noch irgendwie drüber.

          realwax 1 Reply Last reply Reply Quote 0
          • S
            samsungfreak @Thomas Braun last edited by

            @Thomas-Braun sagte in Node JS Update von v8 auf V10 schlägt fehl:

            @samsungfreak Ja, jetzt scheint es ok zu sein.
            Du fährst ein Debian, oder? Im Docker?
            root-Login macht mich immer ganz nervös. Da kann man so schön alles verbiegen...
            Was kommt denn bei

            ls -la /usr/local/bin
            

            rum?

            Genau es handelt sich um ein Debian System aber ganz normal als VM (VMware) und nicht im Docker.
            Hier die Ausgabe:

            root@Broker:~# ls -la /usr/local/bin
            insgesamt 8
            drwxrwsr-x  2 root staff 4096 Feb 18  2017 .
            drwxrwsr-x 10 root staff 4096 Feb 11  2017 ..
            
            
            Thomas Braun 1 Reply Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @samsungfreak last edited by

              @samsungfreak Dann gewöhn dir das root-Login ab!
              Im Docker muss das wohl so sein, weil da sudo nicht funktioniert. Aber in einer VM muss das wie üblich funktionieren.

              S 1 Reply Last reply Reply Quote 0
              • S
                samsungfreak @Thomas Braun last edited by

                @Thomas-Braun Aber zum "Problem" zurück. Für mich sieht soweit alles gut aus oder wie seht ihr das? Es ging ja darum, dass ich über den Paketmanager Node nicht deinstallieren konnte (Paket »node« ist nicht installiert, wird also auch nicht entfernt.)

                Thomas Braun 1 Reply Last reply Reply Quote 0
                • realwax
                  realwax @Thomas Braun last edited by

                  @Thomas-Braun

                  Danke. Ja, ich weiß ich installiere quasi 2 mal hintereinander. Bei der installation via apt/dpkg stellen sich meine Versionen nicht um, dennoch versuche ich aber grundsätzlich es in sync zu halten. Nur mit "n" klappt bei mir der Versionsumstieg.

                  Das war von anfang an so?!?

                  pi@ioBrokerPIB3:~ $ echo $PATH
                  /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

                  Unter $HOME egal ob pi oder root habe ich allerdings kein "n" Verzeichnis.

                  node/8.16.0
                  node/10.16.3
                  node/10.17.0
                  node/10.19.0
                  

                  ο node/12.16.3

                  root@ioBrokerPIB3:/usr/local/n/versions/node# ls
                  10.16.3 10.17.0 10.19.0 12.16.3 8.16.0

                  root@ioBrokerPIB3:/usr/bin#
                  lrwxrwxrwx 1 root root 24 Nov 13 07:46 nodejs -> /etc/alternatives/nodejs
                  lrwxrwxrwx 1 root root 38 Apr 29 18:27 npm -> ../lib/node_modules/npm/bin/npm-cli.js
                  -rwxr-xr-x 1 root root 40517516 Apr 28 11:22 node

                  root@ioBrokerPIB3:/usr/bin# ls -la /etc/alternatives/nodejs
                  lrwxrwxrwx 1 root root 13 Nov 13 07:46 /etc/alternatives/nodejs -> /usr/bin/node

                  Also von meinem Standpunkt sieht es so aus, als hätte "n" gelöst, was bei apt fehlschlug, ohne error. Nämlich, dass die version auch vorhanden und aktiv ist.

                  Ich weiß leider nicht mehr und lerne gerne dazu. Aber erst "n" hat es wie gesagt für mich gelöst.

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

                    @samsungfreak

                    nodejs -v
                    node -v
                    npm -v
                    apt policy nodejs
                    

                    Als user, nicht als root und auch nicht per sudo!

                    Es ging ja darum, dass ich über den Paketmanager Node nicht deinstallieren konnte (Paket »node« ist nicht installiert, wird also auch nicht entfernt.)

                    Das ist bei dem nodejs von nodesource korrekt. node ist da kein eigenes Paket sondern kommt huckepack bei nodejs mit. Ist in meinem System natürlich auch nicht (als autarkes Paket über den Paketmanager) installiert:

                    pi@raspberrypi:/opt/iobroker $ apt policy node
                    node:
                      Installiert:           (keine)
                      Installationskandidat: 0.3.2-7.4
                      Versionstabelle:
                         0.3.2-7.4 500
                            500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
                    

                    Im $PATH liegt das natürlich:

                    pi@raspberrypi:~ $ node -v
                    v12.16.3
                    
                    S 1 Reply Last reply Reply Quote 0
                    • Thomas Braun
                      Thomas Braun Most Active @realwax last edited by Thomas Braun

                      @realwax said in Node JS Update von v8 auf V10 schlägt fehl:

                      Nur mit "n" klappt bei mir der Versionsumstieg.
                      Das war von anfang an so?!?

                      Das glaube ich nicht. Bei mir läuft ein Raspbian auch ohne n. Da ist irgendwas bei dir falsch gelaufen.

                      Offenbar installiert n (in einer root-Shell ohne ENVIRONMENT) direkt in /usr/local/n und linkt dann über alternatives nach /usr/bin/node
                      Da liegt aber eigentlich schon das binary von der nodesource-Installation.
                      Ist jedenfalls in meinem System (ohne n) so:

                      ls -la /usr/bin/node & ls -la /usr/bin/nodejs
                      -rwxr-xr-x 1 root root 40517516 Apr 28 11:22 /usr/bin/node
                      lrwxrwxrwx 1 root root 24 Apr 12 11:14 /usr/bin/nodejs -> /etc/alternatives/nodejs
                      

                      Bei dir kannst du das mal mit

                      pi@raspberrypi:~ $ update-alternatives --display nodejs
                      nodejs - automatischer Modus
                        beste Version des Links ist /usr/bin/node
                        Link verweist zur Zeit auf /usr/bin/node
                        Link nodejs ist /usr/bin/nodejs
                        Slave nodejs.1.gz ist /usr/share/man/man1/nodejs.1.gz
                      /usr/bin/node - Priorität 50
                        Slave nodejs.1.gz: /usr/share/man/man1/node.1.gz
                      

                      anschauen.

                      realwax 1 Reply Last reply Reply Quote 0
                      • realwax
                        realwax @Thomas Braun last edited by

                        @Thomas-Braun said in Node JS Update von v8 auf V10 schlägt fehl:

                        update-alternatives --display nodejs

                        Das stimmt schon - ich hatte Probleme über den "normalen" Weg. Mit "n" lieft es dann.

                        pi@ioBrokerPIB3:~ $ update-alternatives --display nodejs
                        nodejs - automatischer Modus
                        beste Version des Links ist /usr/bin/node
                        Link verweist zur Zeit auf /usr/bin/node
                        Link nodejs ist /usr/bin/nodejs
                        Slave nodejs.1.gz ist /usr/share/man/man1/nodejs.1.gz
                        /usr/bin/node - Priorität 50
                        Slave nodejs.1.gz: /usr/share/man/man1/node.1.gz

                        pi@ioBrokerPIB3:~ $ ls -la /usr/bin/node & ls -la /usr/bin/nodejs
                        -rwxr-xr-x 1 root root 40517516 Apr 28 11:22 /usr/bin/node
                        lrwxrwxrwx 1 root root 24 Nov 13 07:46 /usr/bin/nodejs -> /etc/alternatives/nodejs

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

                          @realwax An deiner Stelle würde ich beim nächsten Update mal versuchen das ohne n hinzubekommen. Das muss gehen, wenn man es richtig anfängt.

                          realwax 1 Reply Last reply Reply Quote 0
                          • realwax
                            realwax @Thomas Braun last edited by

                            @Thomas-Braun
                            Klar, hast du eine Idee wie? Nach der normalen installation, obwohl ohne fehler, geben mir node und npm -v die alten Versionen aus. Ich konnte es nur so lösen. Aber ich bin auch nicht tief in der Pfadstruktur der Installtion, versionswechsel etc drinnen. Das ist die eine oder andere Stunde arbeit und n macht den Job ohne probleme.
                            Wenn du einen guten Tipp hast versuche ich n loszuwerden. Dabei ist das genau mein Tipp wenn wer Probleme hat.

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

                              @realwax Dazu müsste ich dir bei einem Update mal 'über die Schultern' schauen, um genauer zu sehen was du da für ein Setup hast und was da ggf. an Meldungen zurückkommt. Wenn der Paketmanager sauber aufgesetzt und genutzt wird ist ein update eine Sache von Sekunden, ein Versionsupgrade dauert dann unwesentlich länger. Lass es mal wenige Minuten sein.

                              1 Reply Last reply Reply Quote 0
                              • S
                                samsungfreak @Thomas Braun last edited by

                                @Thomas-Braun sagte in Node JS Update von v8 auf V10 schlägt fehl:

                                @samsungfreak

                                nodejs -v
                                node -v
                                npm -v
                                apt policy nodejs
                                

                                Als user, nicht als root und auch nicht per sudo!

                                Es ging ja darum, dass ich über den Paketmanager Node nicht deinstallieren konnte (Paket »node« ist nicht installiert, wird also auch nicht entfernt.)

                                Das ist bei dem nodejs von nodesource korrekt. node ist da kein eigenes Paket sondern kommt huckepack bei nodejs mit. Ist in meinem System natürlich auch nicht (als autarkes Paket über den Paketmanager) installiert:

                                pi@raspberrypi:/opt/iobroker $ apt policy node
                                node:
                                  Installiert:           (keine)
                                  Installationskandidat: 0.3.2-7.4
                                  Versionstabelle:
                                     0.3.2-7.4 500
                                        500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
                                

                                Im $PATH liegt das natürlich:

                                pi@raspberrypi:~ $ node -v
                                v12.16.3
                                

                                Das sieht irgendwie nur so zu 50% gut aus. Oh man... (keine Angabe der Versionstabelle)..oder wie siehst du das?

                                Testuser123@Broker:~$ nodejs -v
                                v12.16.3
                                Testuser123@Broker:~$ node -v
                                v12.16.3
                                Testuser123@Broker:~$ npm -v
                                6.14.4
                                Testuser123@Broker:~$ apt policy node
                                node:
                                  Installiert:           (keine)
                                  Installationskandidat: (keine)
                                  Versionstabelle:
                                
                                
                                
                                Thomas Braun 1 Reply Last reply Reply Quote 0
                                • Thomas Braun
                                  Thomas Braun Most Active @samsungfreak last edited by

                                  @samsungfreak Ist eigentlich ok, je nach Distribution.
                                  Mach mal den Gegencheck:

                                  sudo apt update
                                  apt policy nodejs
                                  
                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    samsungfreak @Thomas Braun last edited by

                                    @Thomas-Braun sagte in Node JS Update von v8 auf V10 schlägt fehl:

                                    @samsungfreak Ist eigentlich ok, je nach Distribution.
                                    Mach mal den Gegencheck:

                                    sudo apt update
                                    apt policy nodejs
                                    

                                    Ok stimmt das sieht gut aus. Musste es aber "leider" als root ausführen damit mein Testuser keine apt Kommandos ausführen darf:

                                    root@Broker:~# sudo apt update
                                    OK:1 http://security.debian.org stretch/updates InRelease
                                    Ign:2 http://ftp.de.debian.org/debian stretch InRelease
                                    OK:3 http://ftp.de.debian.org/debian stretch-updates InRelease
                                    OK:4 https://deb.nodesource.com/node_12.x stretch InRelease
                                    OK:5 http://ftp.de.debian.org/debian stretch Release
                                    Paketlisten werden gelesen... Fertig
                                    Abhängigkeitsbaum wird aufgebaut.
                                    Statusinformationen werden eingelesen.... Fertig
                                    Alle Pakete sind aktuell.
                                    root@Broker:~#
                                    root@Broker:~# apt policy nodejs
                                    nodejs:
                                      Installiert:           12.16.3-1nodesource1
                                      Installationskandidat: 12.16.3-1nodesource1
                                      Versionstabelle:
                                     *** 12.16.3-1nodesource1 500
                                            500 https://deb.nodesource.com/node_12.x stretch/main amd64 Packages
                                            100 /var/lib/dpkg/status
                                         4.8.2~dfsg-1 500
                                            500 http://ftp.de.debian.org/debian stretch/main amd64 Packages
                                    
                                    
                                    Thomas Braun 1 Reply Last reply Reply Quote 0
                                    • Thomas Braun
                                      Thomas Braun Most Active @samsungfreak last edited by Thomas Braun

                                      @samsungfreak
                                      Der testuser123 fehlt in der Gruppe 'sudo'.

                                      usermod -aG sudo Testuser123
                                      

                                      alternativ

                                      adduser Testuser123 sudo
                                      

                                      Hast du keinen 'ordentlichen' ersten user angelegt, als du Debian installiert hast?

                                      Und nochmal: Wenn du schon root bist, dann braucht es da auch kein 'sudo' mehr vor den commands.

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        samsungfreak @Thomas Braun last edited by

                                        @Thomas-Braun sagte in Node JS Update von v8 auf V10 schlägt fehl:

                                        @samsungfreak
                                        Der testuser123 fehlt in der Gruppe 'sudo'.

                                        usermod -aG sudo Testuser123
                                        

                                        alternativ

                                        adduser Testuser123 sudo
                                        

                                        Hast du keinen 'ordentlichen' ersten user angelegt, als du Debian installiert hast?

                                        Und nochmal: Wenn du schon root bist, dann braucht es da auch kein 'sudo' mehr vor den commands.

                                        Mit dem zweiten Befehl hat es geklappt:

                                        Testuser123@Broker:~$ sudo apt update
                                        
                                        Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die
                                        Regeln erklärt hat.  Normalerweise läuft es auf drei Regeln hinaus:
                                        
                                            #1) Respektieren Sie die Privatsphäre anderer.
                                            #2) Denken Sie nach, bevor Sie tippen.
                                            #3) Mit großer Macht kommt große Verantwortung.
                                        
                                        [sudo] Passwort für Testuser123:
                                        Ign:1 http://ftp.de.debian.org/debian stretch InRelease
                                        Holen:2 http://ftp.de.debian.org/debian stretch-updates InRelease [91,0 kB]
                                        OK:3 http://ftp.de.debian.org/debian stretch Release
                                        Holen:4 http://security.debian.org stretch/updates InRelease [94,3 kB]
                                        OK:5 https://deb.nodesource.com/node_12.x stretch InRelease
                                        Es wurden 185 kB in 1 s geholt (95,1 kB/s).
                                        Paketlisten werden gelesen... Fertig
                                        Abhängigkeitsbaum wird aufgebaut.
                                        Statusinformationen werden eingelesen.... Fertig
                                        Alle Pakete sind aktuell.
                                        Testuser123@Broker:~$ apt policy nodejs
                                        nodejs:
                                          Installiert:           12.16.3-1nodesource1
                                          Installationskandidat: 12.16.3-1nodesource1
                                          Versionstabelle:
                                         *** 12.16.3-1nodesource1 500
                                                500 https://deb.nodesource.com/node_12.x stretch/main amd64 Packages
                                                100 /var/lib/dpkg/status
                                             4.8.2~dfsg-1 500
                                                500 http://ftp.de.debian.org/debian stretch/main amd64 Packages
                                        
                                        

                                        Nein leider habe ich damals noch keinen User angelegt und alles via root User erledigt. Werde ich in der Zukunft ändern:) Aber ich denke mein Problem worauf dieses Thema sich bezieht ist erledigt und ich habe das System sauber auf die Node JS Version 12 aktualisieren können mit eurer Hilfe:)

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

                                          @samsungfreak Dann sollte das nun passen in dem System.
                                          nodejs (im 12er-Zweig) kannst du jetzt mit

                                          sudo apt update
                                          sudo apt upgrade
                                          

                                          aktuell halten. Zusammen mit dem restlichen System.

                                          realwax S 2 Replies Last reply Reply Quote 0
                                          • realwax
                                            realwax @Thomas Braun last edited by

                                            @Thomas-Braun Ja, alles an sich standard installationen mit apt/dpkg. Ich werde vermutlich bei meiner hybrid lösung bleiben, sofern es keine Probleme gibt und wenn, dann gehe das in der Tiefe an. Gerne mit Schulter schauen, wenn du Zeit und Lust hast.

                                            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

                                            729
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            nodejs 8 nodejs10
                                            6
                                            48
                                            2151
                                            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