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
    995

  • 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.
  • 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
                                  • D dukkha

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

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

                                    require() of ES Module ... from ... not supported

                                    Die Version, die installiert ist, hat das ES Modules Format, welches von ioBroker nicht geladen werden kann. Installiere eine ältere Version, dann müsste es gehen.

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • D dukkha

                                      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.

                                      U Offline
                                      U Offline
                                      uwe72
                                      schrieb am zuletzt editiert von
                                      #39

                                      @dukkha habe das gleiche Problem mit node-fetch.

                                      Hast Du mir ein Code-Besipiel wie Du dann axios verwendest?

                                      Möchte einen post http request durchführen und ein Image übergeben.

                                      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

                                      673

                                      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