Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. (gelöst) NPM-Modul "node-fetch" in der Javascript-Instanz

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

(gelöst) NPM-Modul "node-fetch" in der Javascript-Instanz

Geplant Angeheftet Gesperrt Verschoben JavaScript
39 Beiträge 5 Kommentatoren 4.9k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ice987I ice987

    @paul53

    This module was converted to be a ESM only package in version 3.0.0-beta.10. node-fetch is an ESM-only module - you are not able to import it with require. We recommend you stay on v2 which is built with CommonJS unless you use ESM yourself. We will continue to publish critical bug fixes for it.

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #9

    @ice987
    Gerade bei mir getestet:
    node-fetch wurde unter /opt/iobroker/node_modules/iobroker.javascript/node_modules installiert, require will aber unter /opt/iobroker/node_modules darauf zugreifen, wo es nicht installiert ist.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    ice987I 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @ice987
      Gerade bei mir getestet:
      node-fetch wurde unter /opt/iobroker/node_modules/iobroker.javascript/node_modules installiert, require will aber unter /opt/iobroker/node_modules darauf zugreifen, wo es nicht installiert ist.

      ice987I Offline
      ice987I Offline
      ice987
      schrieb am zuletzt editiert von
      #10

      @paul53 sagte in NPM-Module in der Javascript instanz:

      Ich meinte: Aus der Konfiguration löschen, speichern und wieder eintragen - also noch mal die Installation versuchen.

      nun funktioniert es!

      Vielen Dank!

      husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

      1 Antwort Letzte Antwort
      0
      • ice987I ice987

        @paul53

        hab' ich:

        root@iobroker-v510:/opt/iobroker# npm ls node-fetch
        iobroker.inst@2.0.3 /opt/iobroker
        ├─┬ iobroker.javascript@5.2.8
        │ └── node-fetch@3.0.0  deduped
        └── node-fetch@3.0.0
        

        mit v3.x gibt's einige Änderungen: https://github.com/node-fetch/node-fetch/blob/HEAD/docs/v3-UPGRADE-GUIDE.md.
        require funktioniert offenbar nicht mehr.

        AlCalzoneA Offline
        AlCalzoneA Offline
        AlCalzone
        Developer
        schrieb am zuletzt editiert von
        #11

        @ice987 sagte in (gelöst) NPM-Module in der Javascript instanz:

        iobroker.inst@2.0.3 /opt/iobroker
        ├─┬ iobroker.javascript@5.2.8
        │ └── node-fetch@3.0.0  deduped
        └── node-fetch@3.0.0
        

        Hast du zufällig node-fetch mal innerhalb /opt/iobrokerhändisch nachinstalliert?
        Das sieht aus, als würde es auch in /opt/iobroker/package.json stehen, wo es definitiv nicht hingehört.

        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

        ice987I 1 Antwort Letzte Antwort
        0
        • AlCalzoneA AlCalzone

          @ice987 sagte in (gelöst) NPM-Module in der Javascript instanz:

          iobroker.inst@2.0.3 /opt/iobroker
          ├─┬ iobroker.javascript@5.2.8
          │ └── node-fetch@3.0.0  deduped
          └── node-fetch@3.0.0
          

          Hast du zufällig node-fetch mal innerhalb /opt/iobrokerhändisch nachinstalliert?
          Das sieht aus, als würde es auch in /opt/iobroker/package.json stehen, wo es definitiv nicht hingehört.

          ice987I Offline
          ice987I Offline
          ice987
          schrieb am zuletzt editiert von ice987
          #12

          @alcalzone
          leider ist das so, ja.

          husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

          AlCalzoneA 1 Antwort Letzte Antwort
          0
          • ice987I ice987

            @alcalzone
            leider ist das so, ja.

            AlCalzoneA Offline
            AlCalzoneA Offline
            AlCalzone
            Developer
            schrieb am zuletzt editiert von
            #13

            @ice987 Dann am besten mal entfernen, das dürfte nämlich die Ursache für solche Probleme sein.

            cd /opt/iobroker
            npm uninstall node-fetch
            

            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

            ice987I 1 Antwort Letzte Antwort
            0
            • AlCalzoneA AlCalzone

              @ice987 Dann am besten mal entfernen, das dürfte nämlich die Ursache für solche Probleme sein.

              cd /opt/iobroker
              npm uninstall node-fetch
              
              ice987I Offline
              ice987I Offline
              ice987
              schrieb am zuletzt editiert von ice987
              #14

              @alcalzone

              root@iobroker-v510:/opt/iobroker# cd /opt/iobroker
              root@iobroker-v510:/opt/iobroker# npm uninstall node-fetch
              npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):
              npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
              
              removed 19 packages and audited 1289 packages in 35.686s
              
              102 packages are looking for funding
                run `npm fund` for details
              
              found 64 vulnerabilities (5 low, 21 moderate, 35 high, 3 critical)
                run `npm audit fix` to fix them, or `npm audit` for details
              root@iobroker-v510:/opt/iobroker# npm ls node-fetch
              iobroker.inst@2.0.3 /opt/iobroker
              └─┬ iobroker.javascript@5.2.8
                └── node-fetch@3.0.0
              

              die "Zusätzlichen NPM-Module" im Javascript-Adapter wurden vorher entfernt und sind aktuell nicht drin. Ist die Installation so nun in Ordnung?

              Das Skript scheint zu funktionieren...

              husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

              AlCalzoneA 1 Antwort Letzte Antwort
              0
              • ice987I ice987

                @alcalzone

                root@iobroker-v510:/opt/iobroker# cd /opt/iobroker
                root@iobroker-v510:/opt/iobroker# npm uninstall node-fetch
                npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):
                npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
                
                removed 19 packages and audited 1289 packages in 35.686s
                
                102 packages are looking for funding
                  run `npm fund` for details
                
                found 64 vulnerabilities (5 low, 21 moderate, 35 high, 3 critical)
                  run `npm audit fix` to fix them, or `npm audit` for details
                root@iobroker-v510:/opt/iobroker# npm ls node-fetch
                iobroker.inst@2.0.3 /opt/iobroker
                └─┬ iobroker.javascript@5.2.8
                  └── node-fetch@3.0.0
                

                die "Zusätzlichen NPM-Module" im Javascript-Adapter wurden vorher entfernt und sind aktuell nicht drin. Ist die Installation so nun in Ordnung?

                Das Skript scheint zu funktionieren...

                AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                schrieb am zuletzt editiert von
                #15

                @ice987 Das sieht besser aus. Wenn du solche Probleme künftig vermeiden willst, am besten noch all die anderen Pakete deinstallieren, die unnötigerweise in /opt/iobroker/package.json stehen. Da sollten ausschließlich dependencies drin sein, die mit iobroker. oder @iobroker/ beginnen.

                Vorsichtshalber mal ein Backup vorher fahren :)

                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                ice987I 1 Antwort Letzte Antwort
                0
                • AlCalzoneA AlCalzone

                  @ice987 Das sieht besser aus. Wenn du solche Probleme künftig vermeiden willst, am besten noch all die anderen Pakete deinstallieren, die unnötigerweise in /opt/iobroker/package.json stehen. Da sollten ausschließlich dependencies drin sein, die mit iobroker. oder @iobroker/ beginnen.

                  Vorsichtshalber mal ein Backup vorher fahren :)

                  ice987I Offline
                  ice987I Offline
                  ice987
                  schrieb am zuletzt editiert von
                  #16

                  @alcalzone
                  wunderbar!

                  hab' gerade gekuckt in /opt/iobroker/package.json: alles fängt mit iobroker. oder @iobroker/ an ausser:

                  "colors": "^1.3.3",
                  "fs-extra": "^7.0.1"
                  "iobroker": "^2.0.3",
                  "semver": "^5.6.0",
                  "yargs": "^7.0.2"
                  

                  alles stehen lassen?

                  husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                  AlCalzoneA 1 Antwort Letzte Antwort
                  0
                  • ice987I ice987

                    @alcalzone
                    wunderbar!

                    hab' gerade gekuckt in /opt/iobroker/package.json: alles fängt mit iobroker. oder @iobroker/ an ausser:

                    "colors": "^1.3.3",
                    "fs-extra": "^7.0.1"
                    "iobroker": "^2.0.3",
                    "semver": "^5.6.0",
                    "yargs": "^7.0.2"
                    

                    alles stehen lassen?

                    AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    schrieb am zuletzt editiert von
                    #17

                    @ice987 iobroker drin lassen. Der Rest dürfte raus können.

                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                    ice987I 1 Antwort Letzte Antwort
                    0
                    • AlCalzoneA AlCalzone

                      @ice987 iobroker drin lassen. Der Rest dürfte raus können.

                      ice987I Offline
                      ice987I Offline
                      ice987
                      schrieb am zuletzt editiert von ice987
                      #18

                      @alcalzone
                      ok, hab alles gelistete entfernt (ausser iobroker). Nun habe ich aber erneut das Problem mit dem Error:

                      Module sind wie folgt eingetragen:
                      c91a6e3b-8f85-42ea-9b8c-2bcc00fca5a2-image.png

                      error wie folgt:

                      14:52:47.875	error	javascript.2 (185) script.js.08_Wetterstation.082_Meteoblue: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-fetch'
                      
                      root@iobroker-v510:/opt/iobroker# npm ls node-fetch
                      iobroker.inst@2.0.3 /opt/iobroker
                      └─┬ iobroker.javascript@5.2.8
                        └── node-fetch@3.0.0
                      

                      husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                      AlCalzoneA paul53P 2 Antworten Letzte Antwort
                      0
                      • ice987I ice987

                        @alcalzone
                        ok, hab alles gelistete entfernt (ausser iobroker). Nun habe ich aber erneut das Problem mit dem Error:

                        Module sind wie folgt eingetragen:
                        c91a6e3b-8f85-42ea-9b8c-2bcc00fca5a2-image.png

                        error wie folgt:

                        14:52:47.875	error	javascript.2 (185) script.js.08_Wetterstation.082_Meteoblue: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-fetch'
                        
                        root@iobroker-v510:/opt/iobroker# npm ls node-fetch
                        iobroker.inst@2.0.3 /opt/iobroker
                        └─┬ iobroker.javascript@5.2.8
                          └── node-fetch@3.0.0
                        
                        AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #19

                        @ice987 entferne es mal, starte den Adapter neu, dann füge es wieder hinzu.

                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                        ice987I 1 Antwort Letzte Antwort
                        0
                        • AlCalzoneA AlCalzone

                          @ice987 entferne es mal, starte den Adapter neu, dann füge es wieder hinzu.

                          ice987I Offline
                          ice987I Offline
                          ice987
                          schrieb am zuletzt editiert von ice987
                          #20

                          @alcalzone
                          ich habe alles hier
                          31b0f607-d79f-4326-b9dd-dbb2c8fc8cd9-image.png
                          entfernt, Instanz neu gestartet, der error bleibt. node-fetch wieder hinzugefügt, Instanz heu gestartet, Fehler bleibt.

                          husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                          1 Antwort Letzte Antwort
                          0
                          • ice987I ice987

                            @alcalzone
                            ok, hab alles gelistete entfernt (ausser iobroker). Nun habe ich aber erneut das Problem mit dem Error:

                            Module sind wie folgt eingetragen:
                            c91a6e3b-8f85-42ea-9b8c-2bcc00fca5a2-image.png

                            error wie folgt:

                            14:52:47.875	error	javascript.2 (185) script.js.08_Wetterstation.082_Meteoblue: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-fetch'
                            
                            root@iobroker-v510:/opt/iobroker# npm ls node-fetch
                            iobroker.inst@2.0.3 /opt/iobroker
                            └─┬ iobroker.javascript@5.2.8
                              └── node-fetch@3.0.0
                            
                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #21

                            @ice987 sagte: error wie folgt:

                            Wie ist es in das Skript eingebunden?

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            ice987I 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @ice987 sagte: error wie folgt:

                              Wie ist es in das Skript eingebunden?

                              ice987I Offline
                              ice987I Offline
                              ice987
                              schrieb am zuletzt editiert von ice987
                              #22

                              @paul53

                              aktuell (zu Testzwecken) nur so:

                              const fetch = require('node-fetch');
                              

                              welches bereits den Fehler ergibt:

                              husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • ice987I ice987

                                @paul53

                                aktuell (zu Testzwecken) nur so:

                                const fetch = require('node-fetch');
                                

                                welches bereits den Fehler ergibt:

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #23

                                @ice987
                                require erwartet es im Verzeichnis /opt/iobroker/node_modules, wo es offenbar nicht (mehr) installiert ist.

                                Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-fetch'
                                

                                import reagiert anders.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                0
                                • AlCalzoneA Offline
                                  AlCalzoneA Offline
                                  AlCalzone
                                  Developer
                                  schrieb am zuletzt editiert von AlCalzone
                                  #24

                                  Dann ist da im Adapter irgendwas faul...
                                  import wird unter der Haube in require umgeschrieben, sollte sich also gleich verhalten.

                                  @ice987 Probier mal als Workaround:

                                  cd /opt/iobroker/node_modules/iobroker.javascript
                                  npm install --production
                                  

                                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • ice987I Offline
                                    ice987I Offline
                                    ice987
                                    schrieb am zuletzt editiert von ice987
                                    #25

                                    @paul53
                                    so hätte ich die Fehlermeldung auch interpretiert. Da hab' ich's manuell probiert, was funktionierte, jedoch nicht der "korrekten Installation" entspricht...

                                    @AlCalzone

                                    cd /opt/iobroker/node_modules/iobroker.javascript
                                    npm install --production
                                    

                                    habe ich ausgeführt: fehler bleibt:

                                    Script nur eine Zeile:

                                    const fetch = require('node-fetch');
                                    

                                    fehler:

                                    15:20:40.276	error	javascript.2 (1358) script.js.08_Wetterstation.Skript_1: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-fetch'
                                    

                                    wenns was zur Sache tut: ioBroker läuft auf einem QNAP im Container, unter dem offiziellen Dockerimage von Buanet.

                                    husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                                    1 Antwort Letzte Antwort
                                    0
                                    • AlCalzoneA AlCalzone

                                      Dann ist da im Adapter irgendwas faul...
                                      import wird unter der Haube in require umgeschrieben, sollte sich also gleich verhalten.

                                      @ice987 Probier mal als Workaround:

                                      cd /opt/iobroker/node_modules/iobroker.javascript
                                      npm install --production
                                      
                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #26

                                      @alcalzone sagte: Probier mal als Workaround:

                                      cd /opt/iobroker/node_modules/iobroker.javascript
                                      npm install --production
                                      

                                      Dorthin hat es der Javascript-Adapter installiert. Es wird dort aber nicht von require gefunden.

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      1 Antwort Letzte Antwort
                                      0
                                      • AlCalzoneA Offline
                                        AlCalzoneA Offline
                                        AlCalzone
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #27

                                        Laut https://github.com/ioBroker/ioBroker.javascript/blob/1a05db402d3c5ad83623825734141a22c34e04b9/lib/sandbox.js#L410-L423 sollte zuerst

                                        /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch
                                        

                                        und anschließend

                                        /opt/iobroker/node_modules/node-fetch
                                        

                                        versucht werden.
                                        In diesem Fall würde das bedeuten, dass node-fetch sich weder im Unterordner, noch in der übergeordneten Struktur befindet.

                                        @ice987
                                        Was kommt hier raus?

                                        cd /opt/iobroker
                                        find -iname node-fetch
                                        

                                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                        paul53P 1 Antwort Letzte Antwort
                                        0
                                        • AlCalzoneA AlCalzone

                                          Laut https://github.com/ioBroker/ioBroker.javascript/blob/1a05db402d3c5ad83623825734141a22c34e04b9/lib/sandbox.js#L410-L423 sollte zuerst

                                          /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch
                                          

                                          und anschließend

                                          /opt/iobroker/node_modules/node-fetch
                                          

                                          versucht werden.
                                          In diesem Fall würde das bedeuten, dass node-fetch sich weder im Unterordner, noch in der übergeordneten Struktur befindet.

                                          @ice987
                                          Was kommt hier raus?

                                          cd /opt/iobroker
                                          find -iname node-fetch
                                          
                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von
                                          #28

                                          @alcalzone

                                          const fetch = require('iobroker.javascript/node_modules/node-fetch');
                                          

                                          ergibt

                                          Error [ERR_REQUIRE_ESM] [ERR_REQUIRE_ESM]: Must use import to load ES Module: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch/src/index.js
                                          

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          AlCalzoneA 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          658

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe