Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Versionen Update Nodejs und NPM

    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

    Versionen Update Nodejs und NPM

    This topic has been deleted. Only users with topic management privileges can see it.
    • Jeeper.at
      Jeeper.at last edited by

      Hallo Leute,

      ich habe ja vor einiger Zeit an meinem Windowsrechner ein Update von NodeJS und NPM gemacht.

      Dabei ist wohl eine Kleinigkeit schief gegangen. (Wobei alles läuft, nur folgendes Problem trat auf).

      Meine NodeJS Version ist nun die v8.10.0

      Dabei hat sich die NMP 5.6.0 mitinstalliert.

      Anschließend habe ich mit Administrator Rechten und npm install -g npm@>=5.7.1 diese Version hochgezogen.

      Ein npm -v liefert nun 5.8.0

      Damit kann konnte ich nun mit iobroker update und iobroker upgrade alles auf den damals letzten Stand bringen. (Repo Latest)

      Mein Problem ist nun, das in der Admin (Version 3.3.5) Übersicht noch immer die NPM Version 5.6.0 angezeigt wird. Deshalb kann ich auch keine Adapter über Admin aktualiseren, weil die Prüfung fehlschlägt.

      Ein npm -v bringt noch immer 5.8.0

      Irgenwo habe ich da wohl ein 2. npm drauf. Komisch nur das der Admin und der Consolen Upgrade auf andere Versionen zugreifen.

      Hat irgendjemand eine Idee wie ich das bereinigen kann?

      Momentan installierte Versionen:

      js-contoller: 1.3.0

      Admin 3.3.5

      Vielen Dank und noch ein schönes Restwochenende.

      Lg

      Günther

      1 Reply Last reply Reply Quote 0
      • S
        SabineT last edited by

        Laut http://www.iobroker.net/docu/?page_id=5106&lang=de sollte man npm 4.x verwenden:

        Hinweis: Diese Anleitung bezieht sich auf nodejs 6.x
        
        Die Nutzung von Nodejs 8.x wäre ebenfalls möglich (dazu in Schritt 4.1 die 6 gegen eine 8 austauschen), jedoch muss das dort mitgelieferte npm 5.x nach der Installation unbedingt auf v4.x downgegradet werden mit
        
        sudo npm install -g npm@4
        
        npm 5.x enthält noch einen Bug, der bei ioBroker zu massiven Problemen führt.
        

        Ich kann aber nicht sagen, ob das noch aktuell ist 😉

        lg, Sabine

        1 Reply Last reply Reply Quote 0
        • Jeeper.at
          Jeeper.at last edited by

          Hallo Sabine,

          Ich denke das sich die npm 5.x Problematik auf Versionen kleiner 5.7.1 bezogen hat. Diese und 5.8.0 sollte funktionieren. Und ja, das tut sie auch, nur im Admin wird halt eine alte Version angezeigt.

          Lg

          Günther

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

            Es ist so wie Günther sagt.

            Was die allgemeine Tauglichkeit von npm5 (>5.7.1) angeht, überlegen wir gerade wie da ein Upgrade idiotensicher gemacht werden kann.

            Eine Neuinstallation sollte inzwischen alles abfangen, was nicht erwünscht ist.

            Ich habe inzwischen mindestens 3 Installationen mit npm 5.7.1 oder 5.8.0 und nodejs 8.x laufen - ohne Probleme.

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • Jeeper.at
              Jeeper.at last edited by

              Danke Rainer für die Bestätigung. Jetzt brauche ich nur noch einen Tipp der die Installierte 5.8.0 auch dem Admin Panel bekanntmacht. 🙂

              Lg

              Günther

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

                STRG-F5??

                Gruß

                Rainer

                1 Reply Last reply Reply Quote 0
                • Jeeper.at
                  Jeeper.at last edited by

                  LOL, danke Rainer. grins

                  Leider ist das Problem tiefer.

                  Bei einem Upgrade eines Adapters wirft er bei der Versionsprüfung auch den Fehler das 5.6.0 installiert ist. Es ist also kein Browser Cache Problem.

                  Lg

                  Günther

                  1 Reply Last reply Reply Quote 0
                  • AlCalzone
                    AlCalzone Developer last edited by

                    @Jeeper.at:

                    Bei einem Upgrade eines Adapters wirft er bei der Versionsprüfung auch den Fehler das 5.6.0 installiert ist. Es ist also kein Browser Cache Problem. `

                    Ist mir die Tage an meinem Dev-Rechner ganz unabhängig von ioBroker auch aufgefallen. npm run … liefert die Meldung, dass ich doch bitte ein Update machen soll, obwohl ich es schon längst getan habe. Scheint etwas Windows-spezifisches zu sein. Hatte aber noch keine Zeit mich intensiv darum zu kümmern.

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

                      @Jeeper.at:

                      bei der Versionsprüfung auch den Fehler das 5.6.0 installiert ist `
                      Das ist auch korrekt so!

                      Die Version bei npm 5.x muss größer 5.7.1 sein, sonst gibt es massive Probleme.

                      Bitte die 5.8.0 mit

                      npm install -g npm@latest
                      

                      installieren.

                      Gruß

                      Rainer

                      1 Reply Last reply Reply Quote 0
                      • Jeeper.at
                        Jeeper.at last edited by

                        Hallo Rainer.

                        Wie im Eröffnungsthread geschrieben habe ich das eh gemacht. Und ein npm-v liefert auch 5.8.0

                        Nur im Admin halt nicht

                        Lg

                        Günther

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

                          Sorry, bei so vielen Threads behalte ich nicht immer den Überblick.

                          Das ist jetzt seltsam.

                          Was ist deine Controller-Version?

                          Was passiert wenn du über die Konsole mit

                          cd /opt/iobroker
                          sudo iobroker update
                          sudo iobroker upgrade AdapterName 
                          

                          durchführst?

                          Gruß

                          Rainer

                          1 Reply Last reply Reply Quote 0
                          • AlCalzone
                            AlCalzone Developer last edited by

                            @Homoran, ich habe die Vermutung, dass das was mit npm auf Windows zu tun hat, siehe viewtopic.php?p=141250#p141250

                            1 Reply Last reply Reply Quote 0
                            • Jeeper.at
                              Jeeper.at last edited by

                              Hallo Rainer,

                              Sudo gibt es unter Windows nicht.

                              Aber wenn ich mit Administratorrechten ein Update auf der Konsole mache dann funktioniert es. Dort bekommt er die npm 5.8.0 mit. Nur Admin halt nicht.

                              Ich denke wir AlCazone auch, das es ein Windowsspezifikum ist.

                              Momentan installierte Versionen:

                              js-contoller: 1.3.0

                              Admin 3.3.5

                              Lg

                              Günther

                              1 Reply Last reply Reply Quote 0
                              • AlCalzone
                                AlCalzone Developer last edited by

                                @Jeeper.at:

                                Führ mal diese Befehle im ioBroker-Ordner aus:

                                npm ls npm
                                npm ls npm -g
                                
                                

                                und poste das Ergebnis. Bei mir meldet nämlich sogar die Konsole, dass ein Update von 5.6.0 auf 5.8.0 verfügbar ist.

                                1 Reply Last reply Reply Quote 0
                                • Jeeper.at
                                  Jeeper.at last edited by

                                  Mache ich am Abend, habe grade keinen Konsolenzugang zu meinem System.

                                  1 Reply Last reply Reply Quote 0
                                  • Jeeper.at
                                    Jeeper.at last edited by

                                    Hallo,

                                    Also npm ls npm bringt folgendes:

                                    Iobroker.core@1.0.0 c:\iobroker

                                    – (empty)

                                    Und npm ls npm -g bringt folgendes:

                                    C:\Users\meinname\Appdata\Roaming\npm

                                    -- npm@5.8.0

                                    Ein npm -v zeigt

                                    5.8.0

                                    Nur im Admin wird 5.6.0 angezeigt und bei Adapterinstallation auch abgefragt.

                                    Lg

                                    Günther

                                    1 Reply Last reply Reply Quote 0
                                    • Jeeper.at
                                      Jeeper.at last edited by

                                      Hat noch jemand einen Tip für mich?

                                      Lg

                                      Günther

                                      1 Reply Last reply Reply Quote 0
                                      • AlCalzone
                                        AlCalzone Developer last edited by

                                        Ein bisschen hacky, aber so hab ich mal ein ähnliches Problem behoben:

                                        1. Erstelle im ioBroker-Ordner eine Datei mit Namen "test.js" und folgendem Inhalt:

                                        console.log(process.env.PATH.split(";"))
                                        

                                        2. Bearbeite im gleichen Ordner die package.json mit einem Editor. Füge zwischen der öffnenden geschweiften Klammer und der nächsten Zeile folgendes ein:

                                        "scripts": {
                                          "find-npm": "node test.js"
                                        },
                                        
                                        

                                        3. Führe (immer noch im gleichen Ordner) folgendes aus:

                                        npm run find-npm
                                        

                                        Auf der Konsole sollte jetzt eine Liste von Pfaden erscheinen. In irgendeinem davon (der irgendwas mit npm/node zu tun hat) befindet sich deine Version 5.6.0. Am besten postest du den Pfad dann hier, damit im ioBroker eine Ausnahme hinzugefügt werden kann.

                                        1 Reply Last reply Reply Quote 0
                                        • Jeeper.at
                                          Jeeper.at last edited by

                                          Hallo,

                                          vielen Dank für die Anleitung.

                                          Mein Ergebnis:

                                          c:\ioBroker>npm run find-npm
                                          
                                          > iobroker.core@1.0.0 find-npm c:\ioBroker
                                          > node test.js
                                          
                                          [ 'C:\\Users\\schmitzerg\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\npm-lifecycle\\node-gyp-bin',
                                            'c:\\ioBroker\\node_modules\\.bin',
                                            'C:\\WINDOWS\\system32',
                                            'C:\\WINDOWS',
                                            'C:\\WINDOWS\\System32\\Wbem',
                                            'C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\',
                                            'C:\\Program Files (x86)\\Windows Kits\\8.1\\Windows Performance Toolkit\\',
                                            'C:\\Program Files (x86)\\Common Files\\Acronis\\VirtualFile\\',
                                            'C:\\Program Files (x86)\\Common Files\\Acronis\\VirtualFile64\\',
                                            'C:\\Program Files (x86)\\Common Files\\Acronis\\FileProtector\\',
                                            'C:\\Program Files (x86)\\Common Files\\Acronis\\FileProtector64\\',
                                            'C:\\Program Files (x86)\\Common Files\\Acronis\\SnapAPI\\',
                                            'C:\\Program Files\\nodejs\\',
                                            'C:\\Users\\schmitzerg\\AppData\\Local\\Microsoft\\WindowsApps',
                                            'C:\\Users\\schmitzerg\\AppData\\Roaming\\npm' ]
                                          
                                          c:\ioBroker>
                                          

                                          Mir war nun nicht ganz klar wie ich die 5.6.0 finden kann. Ich habe deshalb in jedem Pfad ein npm -v ausgeführt. Leider war jedesmal ein 5.8.0 das Ergebnis. War das richtig oder kann ich die 5.6.0 anders finden?

                                          lg

                                          Günther

                                          1 Reply Last reply Reply Quote 0
                                          • AlCalzone
                                            AlCalzone Developer last edited by

                                            Da vermutlich: c:\ioBroker\node_modules\.bin bzw in einem der node_modules Ordner.

                                            Befehle, die per NPM ausgeführt werden (darunter iobroker install) haben diesen Ordner in der PATH-Variable, um lokale Binaries ausführen zu können. Wenn du manuell npm ausführst, bekommst du die globale Version. Wahrscheinlich sind da noch Überreste der früheren Abhängigkeit von npm2, die beim Update nicht sauber entfernt wurde und dann ein Update auf 5.6.0 erfahren hat. Alles, was per npm ausgeführt wird, greift dann beim Aufruf von npm auf diese lokale Version zu.

                                            npm uninstall npm
                                            npm prune
                                            
                                            

                                            im ioBroker-Ordner könnte das eventuell beheben (ohne Gewähr). Ansonsten mal nach einem Ordner node_modules\npm im ioBroker-Ordner suchen und löschen. Und alles mit Namen "npm" aus dem .bin-Ordner entfernen.

                                            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

                                            563
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            11
                                            55
                                            17022
                                            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