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,

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

                      Hallo, sorry hatte mich verschrieben.

                      Habe den Admin eh mit iobroker Start Admin.0 gestartet.

                      Ja auch iobroker Start habe ich gemacht. Sogar unter Windows Dienste war ich. (Nur bin ich mit da nicht mehr sicher ob sich der Dienst starten ließ)

                      Deinen weiteren Tipp schaue ich mir am Abend an.

                      Danke für die Geduld.

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

                        Hallo,

                        Leider hat das nichts gebracht. Die beiden Versionen sind noch vorhanden.

                        Frage dazu kann ich eigentlich irgendwie die 5.8.0 aus der Path Variable rausnehmen (oder sonstige verstecken) und dann ein Upgrade durchführen? Dann habe ich zwar noch immer 2 Versionen, aber immerhin 2mal die gute. Oder stelle ich mir das zu einfach vor?

                        Lg

                        Günther

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

                          Global scheint ja die korrekte Version (5.8.0) installiert zu sein. Den Pfad zur lokalen Version fügt npm beim Aufruf automatisch ein, den kannst du nicht so einfach entfernen. Den müsste ioBroker bei der Befehlsausführung selbst aktiv aus dem Pfad entfernen. Ich hab das auch bei der Erstinstallation schon mal eingebaut, aber das scheint bei dir nicht zu greifen. Komme aktuell auch nicht dazu, das zu optimieren. Vielleicht kommt ja @Bluefox oder @Apollon77 dazu.

                          Nur um sicher zu gehen, dass wir keinen Geist jagen: Schau mal ob du im ioBroker-Verzeichnis oder Unterordnern im node_modules-Ordner einen Ordner npm findest. Wenn ja, schau in der package.json davon nach, welche Version es ist.

                          Zusätzlich bitte über die Kommandozeile im ioBroker-Verzeichnis "node" ausführen, dann folgendes eingeben

                          require.resolve("npm")
                          
                          

                          Es sollte ein Fehler kommen. Danach kannst du den Befehl mit Strg+C, Strg+C beenden.

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

                            Hallo,

                            also:

                            hier das IOBroker Verzeichnis

                             `Verzeichnis von C:\ioBroker
                            
                            16.04.2018  19:10` 
                            
                            <dir> `.
                            16.04.2018  19:10` 
                            
                            <dir> `..
                            18.03.2018  14:44                20 .npmrc
                            27.03.2018  20:26               984 5.8.0
                            08.10.2017  09:44` 
                            
                            <dir> `backups
                            08.04.2018  16:53` 
                            
                            <dir> `cache
                            21.03.2016  21:20                74 controller.js
                            14.04.2018  02:53` 
                            
                            <dir> `daemon
                            21.03.2016  21:05` 
                            
                            <dir> `etc
                            21.03.2016  21:20               892 install.js
                            18.03.2018  14:44                74 iobroker
                            18.03.2018  15:04` 
                            
                            <dir> `iobroker-data
                            21.03.2016  21:20                67 iobroker.bat
                            18.03.2018  14:44                63 iobroker.cmd
                            16.04.2018  02:14    
                            
                            <dir>          log
                            16.04.2018  19:10    
                            
                            <dir>          node_modules
                            16.04.2018  19:10                93 package.json
                            12.04.2018  19:42                70 package.json.bak
                            21.03.2016  21:20             1.655 serviceIoBroker.bat
                            12.04.2018  19:40                40 test.js
                            21.03.2016  21:20               436 uninstall.js
                                          12 Datei(en),          4.468 Bytes
                                           9 Verzeichnis(se), 959.502.278.656 Bytes frei
                            
                            Im Ordner node_modules gibt es einen Ordner der folgendermaßen heißt. Keinen Ordner der nur NPM heißt.
                            

                            npm-run-path

                            Inhalt der package.json:
                            

                            {
                            "_from": "npm-run-path@^2.0.0",
                            "_id": "npm-run-path@2.0.2",
                            "_inBundle": false,
                            "_integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
                            "_location": "/npm-run-path",
                            "_phantomChildren": {},
                            "_requested": {
                            "type": "range",
                            "registry": true,
                            "raw": "npm-run-path@^2.0.0",
                            "name": "npm-run-path",
                            "escapedName": "npm-run-path",
                            "rawSpec": "^2.0.0",
                            "saveSpec": null,
                            "fetchSpec": "^2.0.0"
                            },
                            "_requiredBy": [
                            "/execa"
                            ],
                            "_resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
                            "_shasum": "35a9232dfa35d7067b4cb2ddf2357b1871536c5f",
                            "_spec": "npm-run-path@^2.0.0",
                            "_where": "C:\ioBroker\node_modules\execa",
                            "author": {
                            "name": "Sindre Sorhus",
                            "email": "sindresorhus@gmail.com",
                            "url": "sindresorhus.com"
                            },
                            "bugs": {
                            "url": "https://github.com/sindresorhus/npm-run-path/issues"
                            },
                            "bundleDependencies": false,
                            "dependencies": {
                            "path-key": "^2.0.0"
                            },
                            "deprecated": false,
                            "description": "Get your PATH prepended with locally installed binaries",
                            "devDependencies": {
                            "ava": "",
                            "xo": "
                            "
                            },
                            "engines": {
                            "node": ">=4"
                            },
                            "files": [
                            "index.js"
                            ],
                            "homepage": "https://github.com/sindresorhus/npm-run-path#readme",
                            "keywords": [
                            "npm",
                            "run",
                            "path",
                            "package",
                            "bin",
                            "binary",
                            "binaries",
                            "script",
                            "cli",
                            "command-line",
                            "execute",
                            "executable"
                            ],
                            "license": "MIT",
                            "name": "npm-run-path",
                            "repository": {
                            "type": "git",
                            "url": "git+https://github.com/sindresorhus/npm-run-path.git"
                            },
                            "scripts": {
                            "test": "xo && ava"
                            },
                            "version": "2.0.2",
                            "xo": {
                            "esnext": true
                            }
                            }

                            
                            Der Befehl unter node bringt folgenden Fehler:
                            ```
                            <code>> require.resolve("npm")
                            Error: Cannot find module 'npm'
                                at Function.Module._resolveFilename (module.js:547:15)
                                at Function.resolve (internal/module.js:18:19)[code][/code]</code>
                            ```
                            
                            lg Günther</dir>
                            
                            </dir>` </dir>
                            
                            </dir>
                            
                            </dir>
                            
                            </dir>
                            
                            </dir>
                            
                            </dir>
                            
                            </dir>
                            
                            ```
                            1 Reply Last reply Reply Quote 0
                            • AlCalzone
                              AlCalzone Developer last edited by

                              Ok, und findest du in "node_modules.bin" eine Datei "npm"?

                              Bzgl. deines Ordnerinhalts verwundert mich etwas die Datei 5.8.0 - möglicherweise npm mit falschem Befehl installiert?

                              Und die controller.js - aber die scheint ein Überbleibsel von anno dazumal zu sein.

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

                                Hallo,

                                Nein im node_modules.bin befindet sich keine Datei mit dem Namen npm.

                                Bezüglich der 32 und der 64 Bit Version? Wie könnte ich das checken? In der Systemsteuerung findet man nichts dazu.

                                Lg

                                Günther

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

                                  @Jeeper.at:

                                  Nein im node_modules.bin befindet sich keine Datei mit dem Namen npm. `

                                  Dann sollte zumindest keine lokale Version installiert sein. Ich bin ehrlich gesagt etwas ratlos…

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

                                    Also ich finde die nodejs Installation nur unter dem 64 Bit Pfad. Unter X86 ist da nix.

                                    Lg

                                    Günther

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      RobS last edited by

                                      Nabend,

                                      ich klinke mich hier mal ein denn ich habe das gleiche bzw. ein ähnliches Problem, auch auf einem Windows (10) -Rechner. Habe auch npm Version 5.8.0 installiert und bekomme im Admin 5.6.0 angezeigt und bei den verfügbaren Versionen der Adapter npm error.

                                      Im Gegensatz zu Jeeper.at habe ich allerdings tatsächlich eine zweite npm-Version zusätzlich installiert.

                                      Es gibt einen Installationsordner C:\iobroker, wohin ich seinerzeit installiert habe und einen Ordner C:\Programme\nodejs, in letzterem auch die Unterverzeichnisse \node_modules\npm. In diesem zusätzlichem Pfad steht in package.json npm-version 5.6.0 und in der eigentlich ursprünglichen Installation C:\iobroker\node_modules\npm die korrekte npm-version 5.8.0. (Der Text im Editor unterscheidet auch sonst sehr in den unterschiedlichen package.json-Dateien, was hoffentlich keine Rolle spielt..!?)

                                      Keine Ahnung, wie ich das verzapft habe.

                                      Könnte ich diesen überflüssigen Ordner irgendwie in den anderen verschieben und dann nochmal npm udaten oder kann ich den Ordner einfach löschen oder kann es sein, dass irgendwelche Verknüpfungen dann ins Leere laufen und die ganze Installation dann hin ist?

                                      Bin für jede Hilfe dankbar!

                                      Grüße, Rob

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

                                        viewtopic.php?f=20&t=13582&p=144251&hilit=Böse#p144251

                                        Gruß Rainer

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

                                          Wie bereits in anderen Threads besprochen wird aus dem Grund, dass es mit npm5.x massive Probleme gegeben hatte immer noch nodejs 6.x mit npm 3.x empfohlen.

                                          Der große Bug in npm 5.x wurde in der Version 5.7.1 gefixt. Daraufhin wurde im Controller eine Überprüfung der Versionen eingebaut mit einer entsprechenden Meldung was zu tun ist.

                                          Diese greift aber nur bei Neuinstallationen 😞

                                          Leider wird node v8 immer noch mit npm 5.6 "ausgeliefert", daher ist es immer noch keine offizielle Empfehlung.

                                          node v9 ist wie alle ungeraden Versionen eine Entwicklerversion aus der irgendwann die Version 10.x entstehen wird und sollte nur mit äußerster Vorsicht und auf eigenes Risiko installiert werden. Meines Wissens kommt die aber auch mit dem problematischen npm 5.6.0

                                          Hoffe etwas Lich ins Dunkel gebracht zu haben

                                          Gruß

                                          Rainer

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

                                            @UweRLP:

                                            Was mir auffällt von wo habt ihr die hohen npm Versionen? Bei nodejs ist die höchste verfügbare npm die 5.6.0 die mit installiert wird! `
                                            Das ist nicht die höchste verfügbare, sonst hätten wir keine höheren Versionen 😉

                                            Um die mitgelieferte auf die neueste stabile Version zu heben, genügt ein

                                            npm i -g npm
                                            

                                            bzw. unter Linux mit sudo.

                                            > Welches Pakt ist dann richtig?
                                            Immer nur die geraden Versionen von NodeJS installieren. Empfohlen wird aktuell 6.x.

                                            8.x bringt npm5 mit sich. Das wird zwar unterstützt, ist aber recht eigen, was Berechtigungen angeht. Hier ist noch etwas Arbeit an ioBroker nötig, damit unbedarfte User keine Probleme bekommen.

                                            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

                                            682
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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