Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Web-Adapter startet nach Controller-Update nicht mehr

    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

    Web-Adapter startet nach Controller-Update nicht mehr

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

      Hallo zusammen,

      ich habe auf meinem Raspberry Pi den js-Controller auf versaion 1.4.2 aktualisiert.

      Seitdem startet der web-Adapter nicht mehr. Folgendes gibt das Log aus:

      web.0	2018-09-02 13:29:04.908	error	at require (internal/module.js:20:19)
      web.0	2018-09-02 13:29:04.908	error	at Module.require (module.js:504:17)
      web.0	2018-09-02 13:29:04.908	error	at Function.Module._load (module.js:445:3)
      web.0	2018-09-02 13:29:04.908	error	at tryModuleLoad (module.js:453:12)
      web.0	2018-09-02 13:29:04.908	error	at Module.load (module.js:494:32)
      web.0	2018-09-02 13:29:04.908	error	at Object.Module._extensions..js (module.js:586:10)
      web.0	2018-09-02 13:29:04.908	error	at Module._compile (module.js:577:32)
      web.0	2018-09-02 13:29:04.908	error	at Object. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib/letsencryptStore.js:10:11)
      web.0	2018-09-02 13:29:04.908	error	at require (internal/module.js:20:19)
      web.0	2018-09-02 13:29:04.908	error	at Module.require (module.js:504:17)
      web.0	2018-09-02 13:29:04.908	error	at Function.Module._load (module.js:445:3)
      web.0	2018-09-02 13:29:04.908	error	at tryModuleLoad (module.js:453:12)
      web.0	2018-09-02 13:29:04.908	error	at Module.load (module.js:494:32)
      web.0	2018-09-02 13:29:04.908	error	at Object.Module._extensions..js (module.js:586:10)
      web.0	2018-09-02 13:29:04.908	error	at Module._compile (module.js:577:32)
      web.0	2018-09-02 13:29:04.908	error	at Object. <anonymous>(/opt/iobroker/node_modules/safe-replace/index.js:12:27)
      web.0	2018-09-02 13:29:04.908	error	TypeError: util.promisify is not a function
      web.0	2018-09-02 13:29:04.905	error	uncaught exception: util.promisify is not a function</anonymous></anonymous> 
      

      util.promisify kennt er nicht. Nach recherchen gibt es das erst ab Node-JS 8.x. Mein ioBroker läuft aber unter Node-JS 6.x. Nur habe ich noch einen ioBroker unter Windows laufen (auch mit Node-JS 6) und da gibt es das Problem nicht.

      Ein sudo apt-get install util.promisify hat auch nichts gebracht. Das Problem besteht auch nur wenn ich das "Benutze Let's Encrypt Zertifikate" aktiviert habe. Sonst läuft der Adapter.

      Was läuft hier falsch?

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Ist der Web Adapter sich aktuell?

        Gesendet vom Handy …

        1 Reply Last reply Reply Quote 0
        • D
          daniel_2k last edited by

          Version 2.3.6 läuft dort (stable repository).

          Edit:

          Neuste Version 2.4.1 bringt den gleichen Fehler.

          1 Reply Last reply Reply Quote 0
          • D
            daniel_2k last edited by

            Also ich habe das Problem inzwischen identifizieren und lösen können, weiß aber noch nicht genau, warum das so bei mir ist. Da fehlt mir glaube ich noch etwas npm-Hintergrundwissen.

            Ich habe mich in dem Trace-Stack mal durch den Code in den Modulen gehangelt. Letztendlich kann er ja das util.promisify nicht finden. Auslöser ist das Modul "safe-replace", welches bei mir in der Version 1.0.3 installiert ist und vermutlich Node-JS 8 braucht. Bei meiner anderen Installation ist safe-replace 1.0.2 installiert, die das eben nicht benötigt. In der package.json vom iobroker.-js-controller ist das als Dependency auch in Version 1.0.2 angegeben.

            Was mir auffällt: bei meiner raspi-Installation liegen im Ordner /opt/iobroker/node_modules/ extrem viele Module (so auch safe-replace@1.0.3).

            Unter /opt/iobroker/node_modules/iobroker.js-controller/node_modules/ liegt aber fast nichts.

            Node-JS sucht beim Modul laden ja immer im Modul-Verzeichnis und geht dann immer eine Ebene rauf bis Global nach oben, richtig?

            Ich habe jetzt ins Verzeichnis /opt/iobroker/node_modules/iobroker.js-controller/ gewechselt und safe-replace@1.0.2 installiert.

            Danach kam ein neuer Fehler: gleiches mit dem Module greenlock. Da bin ich genauso vorgegangen.

            Nun startet der Adapter fehlerfrei.

            Aber wieso werden die Dependencies vom iobroker.js-controller in falscher Version und im falschen Verzeichnis installiert?

            Wo ist der Unterschied, wenn ich cd /opt/iobroker und npm install <module>mache oder im Verzeichnis /opt/iobroker/node_module/<module>?

            Es gibt ja auch noch Scopes in npm. Bei Installation von safe-replace sehe ich z.B:

            iobroker.inst@1.1.2 /opt/iobroker
            └─┬ iobroker.js-controller@1.4.2
              └─┬ pyconf@1.1.5
                └── safe-replace@1.0.3
            
            ````</module></module>
            1 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              https://git.coolaj86.com/coolaj86/fs-sa … s/issues/1

              https://github.com/coolaj86/node-config-python/pull/5

              GermanBluefox created this issue in coolaj86/node-config-python

              closed safe-replace 1.0.3 is not compatible with Node.js 6 #5

              1 Reply Last reply Reply Quote 0
              • D
                daniel_2k last edited by

                Ja, gut, dass weiß ich ja jetzt auch 🙂 .

                Aber das iobroker.js-controller package hat version 1.0.2 als Dependency von safe-replace. Warum wird 1.0.3 installiert?

                Andere ioBroker-Installationen hatten da bei mir keine Probleme.

                1 Reply Last reply Reply Quote 0
                • apollon77
                  apollon77 last edited by

                  Es hat bestimmt ^ bei der dep genutzt. Dann sind auch höhere Versionen ok.

                  Gesendet vom Handy …

                  1 Reply Last reply Reply Quote 0
                  • Stabilostick
                    Stabilostick last edited by

                    Aus dem issue von oben:

                    „I need to update the docs (and possibly the code), but I think all you have to do is to install the polyfills and it’ll work:

                    npm install bluebird buffer-v6-polyfill

                    You may need to do require(‘buffer-v6-polyfill’) in your main file.

                    I’ll check on it later today.“

                    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

                    838
                    Online

                    31.9k
                    Users

                    80.2k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    1052
                    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