Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. (gelöst) NPM-Modul "node-fetch" in der Javascript-Instanz

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @AlCalzone last edited by

      @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
      
      AlCalzone 1 Reply Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer @paul53 last edited by

        @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.

        1 Reply Last reply Reply Quote 0
        • AlCalzone
          AlCalzone Developer last edited by 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.
          ice987 2 Replies Last reply Reply Quote 1
          • ice987
            ice987 @AlCalzone last edited by 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?

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @ice987 last edited by paul53

              @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.

              1 Reply Last reply Reply Quote 0
              • ice987
                ice987 @AlCalzone last edited by

                @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.

                AlCalzone paul53 2 Replies Last reply Reply Quote 0
                • AlCalzone
                  AlCalzone Developer @ice987 last edited by AlCalzone

                  gelöscht

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @ice987 last edited by 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",
                    
                    ice987 1 Reply Last reply Reply Quote 0
                    • ice987
                      ice987 @paul53 last edited by

                      @paul53
                      sind bei mir identisch:

                      {
                        "_from": "node-fetch@2",
                        "_id": "node-fetch@2.6.2",
                      
                      1 Reply Last reply Reply Quote 0
                      • D
                        dukkha last edited by 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.

                        AlCalzone U 2 Replies Last reply Reply Quote 0
                        • AlCalzone
                          AlCalzone Developer @dukkha last edited by

                          @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.

                          1 Reply Last reply Reply Quote 0
                          • U
                            uwe72 @dukkha last edited by

                            @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 Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            443
                            Online

                            31.7k
                            Users

                            79.9k
                            Topics

                            1.3m
                            Posts

                            5
                            39
                            3301
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo