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.1k

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

  • 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.
  • 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
                        • paul53P paul53

                          @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
                          
                          AlCalzoneA Offline
                          AlCalzoneA Offline
                          AlCalzone
                          Developer
                          schrieb am zuletzt editiert von
                          #29

                          @paul53 Ahhhh, klick!

                          d.h. in /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch ist das Modul zu finden, aber in einer Version, die der Adapter nicht laden kann.
                          Dann probiert er /opt/iobroker/node_modules/node-fetch, wo es nicht ist.

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

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

                            @ice987 Probier mal folgendes:

                            1. Adapter stoppen, node-fetch aus der Adapter-Konfig entfernen.
                            cd /opt/iobroker/node_modules/iobroker.javascript
                            npm uninstall node-fetch
                            
                            1. In der Adapterkonfiguration node-fetch@2 eintragen und Adapter starten.

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

                            ice987I 2 Antworten Letzte Antwort
                            1
                            • AlCalzoneA AlCalzone

                              @ice987 Probier mal folgendes:

                              1. Adapter stoppen, node-fetch aus der Adapter-Konfig entfernen.
                              cd /opt/iobroker/node_modules/iobroker.javascript
                              npm uninstall node-fetch
                              
                              1. In der Adapterkonfiguration node-fetch@2 eintragen und Adapter starten.
                              ice987I Offline
                              ice987I Offline
                              ice987
                              schrieb am zuletzt editiert von ice987
                              #31

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

                              @ice987 Probier mal folgendes:

                              1. Adapter stoppen, node-fetch aus der Adapter-Konfig entfernen.
                              cd /opt/iobroker/node_modules/iobroker.javascript
                              npm uninstall node-fetch
                              
                              1. In der Adapterkonfiguration node-fetch@2 eintragen und Adapter starten.

                              das funktioniert!

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

                              muss/soll/kann dies wieder Rückgängig gemacht werden?

                              husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • ice987I ice987

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

                                @ice987 Probier mal folgendes:

                                1. Adapter stoppen, node-fetch aus der Adapter-Konfig entfernen.
                                cd /opt/iobroker/node_modules/iobroker.javascript
                                npm uninstall node-fetch
                                
                                1. In der Adapterkonfiguration node-fetch@2 eintragen und Adapter starten.

                                das funktioniert!

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

                                muss/soll/kann dies wieder Rückgängig gemacht werden?

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

                                @ice987 sagte: muss/soll/kann dies wieder Rückgängig gemacht werden?

                                Nein, denn node-fetch wurde gerade durch

                                In der Adapterkonfiguration node-fetch@2 eintragen und Adapter starten.

                                dort neu installiert.

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

                                erzeugt keinen Fehler mehr.

                                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 AlCalzone

                                  @ice987 Probier mal folgendes:

                                  1. Adapter stoppen, node-fetch aus der Adapter-Konfig entfernen.
                                  cd /opt/iobroker/node_modules/iobroker.javascript
                                  npm uninstall node-fetch
                                  
                                  1. In der Adapterkonfiguration node-fetch@2 eintragen und Adapter starten.
                                  ice987I Offline
                                  ice987I Offline
                                  ice987
                                  schrieb am zuletzt editiert von
                                  #33

                                  @alcalzone sagte in (gelöst) NPM-Modul "node-fetch" in der Javascript-Instanz:

                                  @ice987 Probier mal folgendes:

                                  1. Adapter stoppen, node-fetch aus der Adapter-Konfig entfernen.
                                  cd /opt/iobroker/node_modules/iobroker.javascript
                                  npm uninstall node-fetch
                                  
                                  1. In der Adapterkonfiguration node-fetch@2 eintragen und Adapter starten.

                                  Diese Prozedur funktioniert, bis ioBroker neu gestartet wird. Anschliessend kommt wieder der genannte Fehler

                                  script.js.08_Wetterstation.082_Meteoblue: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-fetch'
                                  

                                  wird die Prozedur wieder durchgeführt, funktioniert es wieder ohne Fehler. Ggf. ist da was nicht i.O.

                                  husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                                  AlCalzoneA paul53P 2 Antworten Letzte Antwort
                                  0
                                  • ice987I ice987

                                    @alcalzone sagte in (gelöst) NPM-Modul "node-fetch" in der Javascript-Instanz:

                                    @ice987 Probier mal folgendes:

                                    1. Adapter stoppen, node-fetch aus der Adapter-Konfig entfernen.
                                    cd /opt/iobroker/node_modules/iobroker.javascript
                                    npm uninstall node-fetch
                                    
                                    1. In der Adapterkonfiguration node-fetch@2 eintragen und Adapter starten.

                                    Diese Prozedur funktioniert, bis ioBroker neu gestartet wird. Anschliessend kommt wieder der genannte Fehler

                                    script.js.08_Wetterstation.082_Meteoblue: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-fetch'
                                    

                                    wird die Prozedur wieder durchgeführt, funktioniert es wieder ohne Fehler. Ggf. ist da was nicht i.O.

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

                                    gelöscht

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • ice987I ice987

                                      @alcalzone sagte in (gelöst) NPM-Modul "node-fetch" in der Javascript-Instanz:

                                      @ice987 Probier mal folgendes:

                                      1. Adapter stoppen, node-fetch aus der Adapter-Konfig entfernen.
                                      cd /opt/iobroker/node_modules/iobroker.javascript
                                      npm uninstall node-fetch
                                      
                                      1. In der Adapterkonfiguration node-fetch@2 eintragen und Adapter starten.

                                      Diese Prozedur funktioniert, bis ioBroker neu gestartet wird. Anschliessend kommt wieder der genannte Fehler

                                      script.js.08_Wetterstation.082_Meteoblue: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-fetch'
                                      

                                      wird die Prozedur wieder durchgeführt, funktioniert es wieder ohne Fehler. Ggf. ist da was nicht i.O.

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

                                      @ice987 sagte: funktioniert, bis ioBroker neu gestartet wird. Anschliessend kommt wieder der genannte Fehler

                                      Bei mir kommt der Fehler nach Neustart nicht.

                                      Bild_2021-09-16_124030.png

                                      Die ersten 3 Zeilen der Datei /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch/package.json:

                                      {
                                        "_from": "node-fetch@2",
                                        "_id": "node-fetch@2.6.2",
                                      

                                      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: funktioniert, bis ioBroker neu gestartet wird. Anschliessend kommt wieder der genannte Fehler

                                        Bei mir kommt der Fehler nach Neustart nicht.

                                        Bild_2021-09-16_124030.png

                                        Die ersten 3 Zeilen der Datei /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch/package.json:

                                        {
                                          "_from": "node-fetch@2",
                                          "_id": "node-fetch@2.6.2",
                                        
                                        ice987I Offline
                                        ice987I Offline
                                        ice987
                                        schrieb am zuletzt editiert von
                                        #36

                                        @paul53
                                        sind bei mir identisch:

                                        {
                                          "_from": "node-fetch@2",
                                          "_id": "node-fetch@2.6.2",
                                        

                                        husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                                        1 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          dukkha
                                          schrieb am zuletzt editiert von dukkha
                                          #37

                                          iobroker-Neuling hier. Ich versuche, node-fetch in TypeScript zu verwenden. Ich habe es zu dem JavaScript-Adapter als Modul (node-fetch@2) ergänzt, bekomme beim Verwenden von import fetch from 'node-fetch'; aber dann folgenden Fehler:

                                          Error [ERR_REQUIRE_ESM]: require() of ES Module /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch/src/index.js from /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js not supported

                                          Jemand eine Idee?

                                          Edit: Tatsächlich passiert das auch mit einer reinen JavaScript-Datei und const fetch = require('node-fetch');.
                                          Edit 2: Ich habe nun einfach axios verwendet. Das funktioniert.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          693

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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