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.
    • 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
                            • Jeeper.at
                              Jeeper.at last edited by

                              Hallo,

                              nach der Deinstallation habe ich ein npm -v ausgeführt. Er findet noch immer die 5.8.0 Das ist gut, weil es die Theorie der 2 Versionen erhärtet.

                              Wie erwartet lässt sich IOBroker nun nicht mehr starten weil er die vorhandene Version nicht mehr findet.

                              Fehler beim starten vom Admin:

                              c:\ioBroker>node node_modules/iobroker.js-controller/iobroker.js start admin.0
                              module.js:549
                                  throw err;
                                  ^
                              
                              Error: Cannot find module 'c:\ioBroker\node_modules\iobroker.js-controller\iobroker.js'
                                  at Function.Module._resolveFilename (module.js:547:15)
                                  at Function.Module._load (module.js:474:25)
                                  at Function.Module.runMain (module.js:693:10)
                                  at startup (bootstrap_node.js:188:16)
                                  at bootstrap_node.js:609:3
                              
                              c:\ioBroker>
                              

                              Wie kann ich IOBroker nun mitteilen das es da noch eine verwendbare Version gibt oder wie gehe ich weiter vor?

                              lg und vielen Dank für die Hilfe.

                              Günther

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

                                @Jeeper.at:

                                Wie erwartet lässt sich IOBroker nun nicht mehr starten weil er die vorhandene Version nicht mehr findet. `

                                Du würfelst da einiges durcheinander:

                                Cannot find module 'c:\ioBroker\node_modules\iobroker.js-controller\iobroker.js'
                                

                                Die hier genannte Datei wird nicht gefunden, nicht npm. Npm ist das Paketverwaltungstool von NodeJS, mit dem Pakete installiert, deinstalliert und upgedated werden. Zur Ausführung von Programmen wird es NICHT benötigt, wohl aber zur Adapterinstallation per ioBroker. Den Ordner zur PATH-Variable hinzufügen macht auch keinen Sinn, da ist die Installation nämlich schon drin (appdata\…), sonst würde der Befehl "npm -v" nicht funktionieren.

                                Die Deinstallation hat wohl einige zu viele Pakete gelöscht. Im Ordner "c:\ioBroker" bitte

                                npm install --production
                                

                                ausführen, bzw. wenn ioBroker danach immer noch nicht startet

                                npm install iobroker.js-controller
                                
                                1 Reply Last reply Reply Quote 0
                                • AlCalzone
                                  AlCalzone Developer last edited by

                                  @UweRLP:

                                  In die path Variable den Ordner von NodeJS eintragen. `

                                  Sorry, das ist in diesem Fall Quatsch. Die node-Binary wird ja gefunden, ebenso npm. Die js-Datei von ioBroker aber nicht!

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

                                    Alles klar, teste ich am Abend und gebe Rückmeldung.

                                    Lg

                                    Günther

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

                                      So, letzter Stand:

                                      ich musste beide Befehle ausführen.

                                      nun wird durch

                                      npm start admin.0
                                      

                                      zwar der admin gestartet, aber aufrufen kann ich ihn deswegen auch nicht. Mit localhost:8081 kommt nichts.

                                      Dann habe ich ein

                                      iobroker update
                                      iobroker upgrade
                                      

                                      probiert.

                                      Es wird angezeigt, das kein einziger Adapter installiert ist.

                                      Schön langsam mache ich mir ein wenig Sorgen. 🙂

                                      lg

                                      Günther

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

                                        Zusatzinfo:

                                        Da der WAF zu sinken drohte (Konnte ich mit einem selbstgemachten Abendessen abwenden) habe ich nun ein Backup eingespielt.

                                        Nun bin ich also wieder auf dem Ausgangsstand. Alles funktioniert, nur das halt 2 NPM Versionen drauf sind.

                                        Also falls es Ideen gibt, immer her damit.

                                        Vielen Dank

                                        Günther

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

                                          @Jeeper.at:

                                          nun wird durch

                                          npm start admin.0
                                          

                                          zwar der admin gestartet, aber aufrufen kann ich ihn deswegen auch nicht. Mit localhost:8081 kommt nichts.

                                          Dann habe ich ein

                                          iobroker update
                                          iobroker upgrade
                                          ```` `  
                                          

                                          Und nochmal: "npm …" ist kein Befehl zum BETRIEB des ioBroker, sondern zum INSTALLIEREN von Paketen und Adaptern. Korrekt wäre

                                          iobroker start admin.0
                                          

                                          Hast du nach der Installation denn den ioBroker selbst auch mal gestartet? Also mit

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

                                            Du könntest jetzt nach Backup nochmal probieren, die lokale npm-Version zu löschen - aber lass "npm prune" weg, das löscht bei dir zu viel.

                                            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

                                            923
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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