Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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.2k

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

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

Scheduled Pinned Locked Moved JavaScript
39 Posts 5 Posters 4.9k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • AlCalzoneA Offline
    AlCalzoneA Offline
    AlCalzone
    Developer
    wrote on last edited by 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 Reply Last reply
    0
    • ice987I Offline
      ice987I Offline
      ice987
      wrote on last edited by 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 Reply Last reply
      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
        wrote on last edited by
        #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 Reply Last reply
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          wrote on last edited by
          #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 Reply Last reply
          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
            wrote on last edited by
            #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 Reply Last reply
            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
              wrote on last edited by
              #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 Reply Last reply
              0
              • AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                wrote on last edited by 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 Replies Last reply
                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
                  wrote on last edited by 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 Reply Last reply
                  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
                    wrote on last edited by 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 Reply Last reply
                    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
                      wrote on last edited by
                      #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 Replies Last reply
                      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
                        wrote on last edited by AlCalzone
                        #34

                        gelöscht

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

                        1 Reply Last reply
                        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
                          wrote on last edited by 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 Reply Last reply
                          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
                            wrote on last edited by
                            #36

                            @paul53
                            sind bei mir identisch:

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

                            husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              dukkha
                              wrote on last edited by 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 Replies Last reply
                              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
                                wrote on last edited by
                                #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 Reply Last reply
                                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
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  316

                                  Online

                                  32.5k

                                  Users

                                  81.7k

                                  Topics

                                  1.3m

                                  Posts
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Home
                                  • Recent
                                  • Tags
                                  • Unread 0
                                  • Categories
                                  • Unreplied
                                  • Popular
                                  • GitHub
                                  • Docu
                                  • Hilfe