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. ioBroker Allgemein
  4. [How-to] Node.js für ioBroker richtig updaten

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.0k

[How-to] Node.js für ioBroker richtig updaten

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
installationlinuxnodenode.jsnodejswindows
1.1k Beiträge 106 Kommentatoren 740.4k Aufrufe 112 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.
  • Thomas BraunT Thomas Braun

    @Kuddel
    Ja, und wo ist die Vereinfachung?
    Änder einfach ein Zeichen in der /etc/apt/sources.list.d/nodesource.list und du bist da. Oder schreib direkt die passende neue Zeile per tee da rein.

    K Offline
    K Offline
    Kuddel
    schrieb am zuletzt editiert von
    #771

    @Thomas-Braun oh so einfach :-D

    okay, dann ist mein Skript überflüssig ^^

    Thomas BraunT 1 Antwort Letzte Antwort
    0
    • K Kuddel

      @Thomas-Braun oh so einfach :-D

      okay, dann ist mein Skript überflüssig ^^

      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      schrieb am zuletzt editiert von
      #772

      @Kuddel

      Hier hab ich mal erklärt, wie das imho am besten und schnellsten und saubersten zu handeln ist:

      https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian

      Das könnte man natürlich auch in ein skript packen. Aber so wenige und unregelmäßig vorkommende Dinge muss man meiner Meinung nach nicht skripten.

      Einmal das passende Repo anlegen und dann hat man da ja bis zum nächsten Release-Wechsel Ruhe. Und ob ich mich beim Wechsel auf eine weitere node-Version dann an ein herumliegendes shell-skript erinner wage ich auch mal zu bezweifeln.

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      DiginixD 1 Antwort Letzte Antwort
      0
      • Thomas BraunT Thomas Braun

        @Kuddel

        Hier hab ich mal erklärt, wie das imho am besten und schnellsten und saubersten zu handeln ist:

        https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian

        Das könnte man natürlich auch in ein skript packen. Aber so wenige und unregelmäßig vorkommende Dinge muss man meiner Meinung nach nicht skripten.

        Einmal das passende Repo anlegen und dann hat man da ja bis zum nächsten Release-Wechsel Ruhe. Und ob ich mich beim Wechsel auf eine weitere node-Version dann an ein herumliegendes shell-skript erinner wage ich auch mal zu bezweifeln.

        DiginixD Offline
        DiginixD Offline
        Diginix
        schrieb am zuletzt editiert von
        #773

        @Thomas-Braun
        Wann ist

        npm rebuild
        

        notwendig?

        ..:: So long! Tom ::..

        NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

        Thomas BraunT 1 Antwort Letzte Antwort
        0
        • DiginixD Diginix

          @Thomas-Braun
          Wann ist

          npm rebuild
          

          notwendig?

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von Thomas Braun
          #774

          @Diginix
          Das ist ggf. bei Wechseln der node-Version erforderlich, dann muss das modul gegen die neue Version gebaut werden. In den meisten Fällen macht der js-controller das aber selbstständig, wenn der Bedarf erkannt wurde.

          Mit direktem hantieren mit npm im Verzeichnis /opt/iobroker wäre ich aber vorsichtig, besser mit dem wrapper iobroker da ran gehen:

          iobroker rebuild <adapter>|self [--install]
          

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            MyMeyer
            schrieb am zuletzt editiert von MyMeyer
            #775

            Hallo , habe auf meinen Master und Slave das Update auf Node 12.20.2 gemacht. Master läuft alles , aber auf dem Slave kommt der Smartmeter Adapter nicht hoch. Siehe Meldung aus dem Log:

            host.iobroker-slave	2021-02-20 10:53:52.948	info	Rebuild for adapter system.adapter.smartmeter.0 not successful in 3 tries. Adapter will not be restarted again. Please execute "npm install --production" in adapter directory manually.
            host.iobroker-slave	2021-02-20 10:53:52.948	error	instance system.adapter.smartmeter.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
            host.iobroker-slave	2021-02-20 10:53:52.946	error	Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32)
            host.iobroker-slave	2021-02-20 10:53:52.946	error	Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
            host.iobroker-slave	2021-02-20 10:53:52.945	error	Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:999:30)
            host.iobroker-slave	2021-02-20 10:53:52.944	error	Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/@serialport/bindings/lib/linux.js:2:36)
            host.iobroker-slave	2021-02-20 10:53:52.943	error	Caught by controller[0]: at bindings (/opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:112:48)
            host.iobroker-slave	2021-02-20 10:53:52.942	error	Caught by controller[0]: at require (internal/modules/cjs/helpers.js:74:18)
            host.iobroker-slave	2021-02-20 10:53:52.941	error	Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:887:19)
            host.iobroker-slave	2021-02-20 10:53:52.940	error	Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:708:14)
            host.iobroker-slave	2021-02-20 10:53:52.939	error	Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32)
            host.iobroker-slave	2021-02-20 10:53:52.939	error	Caught by controller[0]: at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18)
            host.iobroker-slave	2021-02-20 10:53:52.938	error	Caught by controller[0]: the module (for instance, using `npm rebuild` or `npm install`).
            host.iobroker-slave	2021-02-20 10:53:52.937	error	Caught by controller[0]: NODE_MODULE_VERSION 72. Please try re-compiling or re-installing
            host.iobroker-slave	2021-02-20 10:53:52.936	error	Caught by controller[0]: NODE_MODULE_VERSION 64. This version of Node.js requires
            host.iobroker-slave	2021-02-20 10:53:52.935	error	Caught by controller[0]: was compiled against a different Node.js version using
            host.iobroker-slave	2021-02-20 10:53:52.934	error	Caught by controller[0]: Error: The module '/opt/iobroker/node_modules/@serialport/bindings/build/Release/bindings.node'
            host.iobroker-slave	2021-02-20 10:53:52.933	error	Caught by controller[0]: ^
            host.iobroker-slave	2021-02-20 10:53:52.932	error	Caught by controller[0]: throw e;
            host.iobroker-slave	2021-02-20 10:53:52.930	error	Caught by controller[0]: /opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:121
            host.iobroker-slave	2021-02-20 10:53:49.275	info	instance system.adapter.smartmeter.0 started with pid 628
            

            8416b3da-5a69-4dda-9cca-3bf1dbdbf6ec-image.png f875dc8d-101b-45eb-a5ab-982b36c4e103-image.png
            Was kann ich tun ?

            MyMeyer

            >>> Hardware: Intel I5 mit ****Debian ProxMox OS: Debian **** <<< >>> Network with UniFi <<<
            >>> HomeMatic CCU-2 (Wired und Funk) / Philips HUE / Echo.DOT / Echo.SHOW / Xiaomi Smart-Home / Xiaomi Robot Vacuum Cleaner / Synology DS 918+ / Shelly 1&2 <<<

            Thomas BraunT 2 Antworten Letzte Antwort
            0
            • M MyMeyer

              Hallo , habe auf meinen Master und Slave das Update auf Node 12.20.2 gemacht. Master läuft alles , aber auf dem Slave kommt der Smartmeter Adapter nicht hoch. Siehe Meldung aus dem Log:

              host.iobroker-slave	2021-02-20 10:53:52.948	info	Rebuild for adapter system.adapter.smartmeter.0 not successful in 3 tries. Adapter will not be restarted again. Please execute "npm install --production" in adapter directory manually.
              host.iobroker-slave	2021-02-20 10:53:52.948	error	instance system.adapter.smartmeter.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
              host.iobroker-slave	2021-02-20 10:53:52.946	error	Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32)
              host.iobroker-slave	2021-02-20 10:53:52.946	error	Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
              host.iobroker-slave	2021-02-20 10:53:52.945	error	Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:999:30)
              host.iobroker-slave	2021-02-20 10:53:52.944	error	Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/@serialport/bindings/lib/linux.js:2:36)
              host.iobroker-slave	2021-02-20 10:53:52.943	error	Caught by controller[0]: at bindings (/opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:112:48)
              host.iobroker-slave	2021-02-20 10:53:52.942	error	Caught by controller[0]: at require (internal/modules/cjs/helpers.js:74:18)
              host.iobroker-slave	2021-02-20 10:53:52.941	error	Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:887:19)
              host.iobroker-slave	2021-02-20 10:53:52.940	error	Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:708:14)
              host.iobroker-slave	2021-02-20 10:53:52.939	error	Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32)
              host.iobroker-slave	2021-02-20 10:53:52.939	error	Caught by controller[0]: at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18)
              host.iobroker-slave	2021-02-20 10:53:52.938	error	Caught by controller[0]: the module (for instance, using `npm rebuild` or `npm install`).
              host.iobroker-slave	2021-02-20 10:53:52.937	error	Caught by controller[0]: NODE_MODULE_VERSION 72. Please try re-compiling or re-installing
              host.iobroker-slave	2021-02-20 10:53:52.936	error	Caught by controller[0]: NODE_MODULE_VERSION 64. This version of Node.js requires
              host.iobroker-slave	2021-02-20 10:53:52.935	error	Caught by controller[0]: was compiled against a different Node.js version using
              host.iobroker-slave	2021-02-20 10:53:52.934	error	Caught by controller[0]: Error: The module '/opt/iobroker/node_modules/@serialport/bindings/build/Release/bindings.node'
              host.iobroker-slave	2021-02-20 10:53:52.933	error	Caught by controller[0]: ^
              host.iobroker-slave	2021-02-20 10:53:52.932	error	Caught by controller[0]: throw e;
              host.iobroker-slave	2021-02-20 10:53:52.930	error	Caught by controller[0]: /opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:121
              host.iobroker-slave	2021-02-20 10:53:49.275	info	instance system.adapter.smartmeter.0 started with pid 628
              

              8416b3da-5a69-4dda-9cca-3bf1dbdbf6ec-image.png f875dc8d-101b-45eb-a5ab-982b36c4e103-image.png
              Was kann ich tun ?

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              schrieb am zuletzt editiert von
              #776

              @mymeyer Bitte LogFiles in CodeTags setzen

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              1 Antwort Letzte Antwort
              0
              • M MyMeyer

                Hallo , habe auf meinen Master und Slave das Update auf Node 12.20.2 gemacht. Master läuft alles , aber auf dem Slave kommt der Smartmeter Adapter nicht hoch. Siehe Meldung aus dem Log:

                host.iobroker-slave	2021-02-20 10:53:52.948	info	Rebuild for adapter system.adapter.smartmeter.0 not successful in 3 tries. Adapter will not be restarted again. Please execute "npm install --production" in adapter directory manually.
                host.iobroker-slave	2021-02-20 10:53:52.948	error	instance system.adapter.smartmeter.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
                host.iobroker-slave	2021-02-20 10:53:52.946	error	Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32)
                host.iobroker-slave	2021-02-20 10:53:52.946	error	Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
                host.iobroker-slave	2021-02-20 10:53:52.945	error	Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:999:30)
                host.iobroker-slave	2021-02-20 10:53:52.944	error	Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/@serialport/bindings/lib/linux.js:2:36)
                host.iobroker-slave	2021-02-20 10:53:52.943	error	Caught by controller[0]: at bindings (/opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:112:48)
                host.iobroker-slave	2021-02-20 10:53:52.942	error	Caught by controller[0]: at require (internal/modules/cjs/helpers.js:74:18)
                host.iobroker-slave	2021-02-20 10:53:52.941	error	Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:887:19)
                host.iobroker-slave	2021-02-20 10:53:52.940	error	Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:708:14)
                host.iobroker-slave	2021-02-20 10:53:52.939	error	Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32)
                host.iobroker-slave	2021-02-20 10:53:52.939	error	Caught by controller[0]: at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18)
                host.iobroker-slave	2021-02-20 10:53:52.938	error	Caught by controller[0]: the module (for instance, using `npm rebuild` or `npm install`).
                host.iobroker-slave	2021-02-20 10:53:52.937	error	Caught by controller[0]: NODE_MODULE_VERSION 72. Please try re-compiling or re-installing
                host.iobroker-slave	2021-02-20 10:53:52.936	error	Caught by controller[0]: NODE_MODULE_VERSION 64. This version of Node.js requires
                host.iobroker-slave	2021-02-20 10:53:52.935	error	Caught by controller[0]: was compiled against a different Node.js version using
                host.iobroker-slave	2021-02-20 10:53:52.934	error	Caught by controller[0]: Error: The module '/opt/iobroker/node_modules/@serialport/bindings/build/Release/bindings.node'
                host.iobroker-slave	2021-02-20 10:53:52.933	error	Caught by controller[0]: ^
                host.iobroker-slave	2021-02-20 10:53:52.932	error	Caught by controller[0]: throw e;
                host.iobroker-slave	2021-02-20 10:53:52.930	error	Caught by controller[0]: /opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:121
                host.iobroker-slave	2021-02-20 10:53:49.275	info	instance system.adapter.smartmeter.0 started with pid 628
                

                8416b3da-5a69-4dda-9cca-3bf1dbdbf6ec-image.png f875dc8d-101b-45eb-a5ab-982b36c4e103-image.png
                Was kann ich tun ?

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von
                #777

                @mymeyer

                Please execute "npm install --production" in adapter directory manually.

                Linux-Werkzeugkasten:
                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                NodeJS Fixer Skript:
                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                M 1 Antwort Letzte Antwort
                0
                • Thomas BraunT Thomas Braun

                  @mymeyer

                  Please execute "npm install --production" in adapter directory manually.

                  M Offline
                  M Offline
                  MyMeyer
                  schrieb am zuletzt editiert von MyMeyer
                  #778

                  @thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:

                  @mymeyer

                  Please execute "npm install --production" in adapter directory manually.

                  Direkt auf dem Slave im Adapter Verzeichnis oder reicht /opt/iobroker ?

                  Oder gesagt das habe ich bereist auf dem Slave gemacht.

                  pi@iobroker-slave:~ $ cd /opt/iobroker/
                  pi@iobroker-slave:/opt/iobroker $ npm install --production
                  npm ERR! code ENOTDIR
                  npm ERR! syscall open
                  npm ERR! path /opt/iobroker/node_modules/iobroker.js-controller/node_modules/ms/npm-shrinkwrap.json
                  npm ERR! errno -20
                  npm ERR! ENOTDIR: not a directory, open '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ms/npm-shrinkwrap.json'
                  
                  npm ERR! A complete log of this run can be found in:
                  npm ERR!     /home/iobroker/.npm/_logs/2021-02-20T09_53_20_943Z-debug.log
                  
                  

                  MyMeyer

                  >>> Hardware: Intel I5 mit ****Debian ProxMox OS: Debian **** <<< >>> Network with UniFi <<<
                  >>> HomeMatic CCU-2 (Wired und Funk) / Philips HUE / Echo.DOT / Echo.SHOW / Xiaomi Smart-Home / Xiaomi Robot Vacuum Cleaner / Synology DS 918+ / Shelly 1&2 <<<

                  Thomas BraunT 1 Antwort Letzte Antwort
                  0
                  • M MyMeyer

                    @thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:

                    @mymeyer

                    Please execute "npm install --production" in adapter directory manually.

                    Direkt auf dem Slave im Adapter Verzeichnis oder reicht /opt/iobroker ?

                    Oder gesagt das habe ich bereist auf dem Slave gemacht.

                    pi@iobroker-slave:~ $ cd /opt/iobroker/
                    pi@iobroker-slave:/opt/iobroker $ npm install --production
                    npm ERR! code ENOTDIR
                    npm ERR! syscall open
                    npm ERR! path /opt/iobroker/node_modules/iobroker.js-controller/node_modules/ms/npm-shrinkwrap.json
                    npm ERR! errno -20
                    npm ERR! ENOTDIR: not a directory, open '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ms/npm-shrinkwrap.json'
                    
                    npm ERR! A complete log of this run can be found in:
                    npm ERR!     /home/iobroker/.npm/_logs/2021-02-20T09_53_20_943Z-debug.log
                    
                    
                    Thomas BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    schrieb am zuletzt editiert von
                    #779

                    @mymeyer Im Verzeichnis des angemeckerten Moduls.

                    Linux-Werkzeugkasten:
                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                    NodeJS Fixer Skript:
                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                    M 1 Antwort Letzte Antwort
                    0
                    • Thomas BraunT Thomas Braun

                      @mymeyer Im Verzeichnis des angemeckerten Moduls.

                      M Offline
                      M Offline
                      MyMeyer
                      schrieb am zuletzt editiert von
                      #780

                      @thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:

                      @mymeyer Im Verzeichnis des angemeckerten Moduls.

                      Jetzt kommt das raus:-(

                      pi@iobroker-slave:/opt/iobroker $ cd node_modules/iobroker.js-controller/
                      pi@iobroker-slave:/opt/iobroker/node_modules/iobroker.js-controller $ pwd
                      /opt/iobroker/node_modules/iobroker.js-controller
                      pi@iobroker-slave:/opt/iobroker/node_modules/iobroker.js-controller $ npm install --production
                      
                      > iobroker.js-controller@3.1.6 preinstall /opt/iobroker/node_modules/iobroker.js-controller
                      > node lib/preinstallCheck.js
                      
                      NPM version: 6.14.11
                      npm WARN deprecated istanbul@0.4.5: This module is no longer maintained, try this instead:
                      npm WARN deprecated   npm i nyc
                      npm WARN deprecated Visit https://istanbul.js.org/integrations for other alternatives.
                      npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
                      npm WARN deprecated debug@3.2.6: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
                      npm WARN deprecated har-validator@5.1.5: this library is no longer supported
                      npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
                      npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
                      npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
                      npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
                      
                      > unix-dgram@2.0.3 install /opt/iobroker/node_modules/iobroker.js-controller/node_modules/unix-dgram
                      > node-gyp rebuild
                      
                      make: Entering directory '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/unix-dgram/build'
                        CXX(target) Release/obj.target/unix_dgram/src/unix_dgram.o
                      In file included from ../../nan/nan.h:56,
                                       from ../src/unix_dgram.cc:5:
                      /home/iobroker/.cache/node-gyp/12.20.2/include/node/node.h:737:43: warning: cast between incompatible function types from 'void (*)(v8::Local<v8::Object>)' to  node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
                             (node::addon_register_func) (regfunc),                          \
                                                                 ^
                      /home/iobroker/.cache/node-gyp/12.20.2/include/node/node.h:771:3: note: in expansion of macro 'NODE_MODULE_X'
                         NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                         ^~~~~~~~~~~~~
                      ../src/unix_dgram.cc:404:1: note: in expansion of macro 'NODE_MODULE'
                       NODE_MODULE(unix_dgram, Initialize)
                       ^~~~~~~~~~~
                        SOLINK_MODULE(target) Release/obj.target/unix_dgram.node
                        COPY Release/unix_dgram.node
                      make: Leaving directory '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/unix-dgram/build'
                      
                      > ursa-optional@0.9.10 install /opt/iobroker/node_modules/iobroker.js-controller/node_modules/ursa-optional
                      > node rebuild.js
                      
                      ursaNative bindings compilation fail. This is not an issue. Modules that depend on it will use fallbacks.
                      
                      > diskusage@1.1.3 install /opt/iobroker/node_modules/iobroker.js-controller/node_modules/diskusage
                      > node-gyp rebuild
                      
                      make: Entering directory '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/diskusage/build'
                        CXX(target) Release/obj.target/diskusage/src/main.o
                      In file included from ../../nan/nan.h:56,
                                       from ../src/main.cpp:3:
                      /home/iobroker/.cache/node-gyp/12.20.2/include/node/node.h:737:43: warning: cast between incompatible function types from 'void (*)(v8::Local<v8::Object>)' to  node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
                             (node::addon_register_func) (regfunc),                          \
                                                                 ^
                      /home/iobroker/.cache/node-gyp/12.20.2/include/node/node.h:771:3: note: in expansion of macro 'NODE_MODULE_X'
                         NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                         ^~~~~~~~~~~~~
                      ../src/main.cpp:42:1: note: in expansion of macro 'NODE_MODULE'
                       NODE_MODULE(diskusage, Init)
                       ^~~~~~~~~~~
                        CXX(target) Release/obj.target/diskusage/src/diskusage_posix.o
                        SOLINK_MODULE(target) Release/obj.target/diskusage.node
                        COPY Release/diskusage.node
                      make: Leaving directory '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/diskusage/build'
                      
                      > acme-v2@1.8.6 postinstall /opt/iobroker/node_modules/iobroker.js-controller/node_modules/acme-v2
                      > node scripts/postinstall
                      
                      
                      Greenlock and ACME.js v3 are on the way!
                      Watch for updates at https://indiegogo.com/at/greenlock
                      
                      
                      > iobroker.js-controller@3.1.6 install /opt/iobroker/node_modules/iobroker.js-controller
                      > node iobroker.js setup first
                      
                      internal/modules/cjs/loader.js:818
                        throw err;
                        ^
                      
                      Error: Cannot find module './_copyObject'
                      Require stack:
                      - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js
                      - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js
                      - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js
                      - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js
                      - /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js
                      - /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
                          at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
                          at Function.Module._load (internal/modules/cjs/loader.js:667:27)
                          at Module.require (internal/modules/cjs/loader.js:887:19)
                          at require (internal/modules/cjs/helpers.js:74:18)
                          at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js:1:18)
                          at Module._compile (internal/modules/cjs/loader.js:999:30)
                          at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
                          at Module.load (internal/modules/cjs/loader.js:863:32)
                          at Function.Module._load (internal/modules/cjs/loader.js:708:14)
                          at Module.require (internal/modules/cjs/loader.js:887:19) {
                        code: 'MODULE_NOT_FOUND',
                        requireStack: [
                          '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js',
                          '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js',
                          '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js',
                          '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js',
                          '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js',
                          '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js'
                        ]
                      }
                      npm ERR! code ELIFECYCLE
                      npm ERR! errno 1
                      npm ERR! iobroker.js-controller@3.1.6 install: `node iobroker.js setup first`
                      npm ERR! Exit status 1
                      npm ERR!
                      npm ERR! Failed at the iobroker.js-controller@3.1.6 install script.
                      npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                      
                      npm ERR! A complete log of this run can be found in:
                      npm ERR!     /home/iobroker/.npm/_logs/2021-02-20T11_07_58_610Z-debug.log
                      pi@iobroker-slave:/opt/iobroker/node_modules/iobroker.js-controller $
                      
                      

                      MyMeyer

                      >>> Hardware: Intel I5 mit ****Debian ProxMox OS: Debian **** <<< >>> Network with UniFi <<<
                      >>> HomeMatic CCU-2 (Wired und Funk) / Philips HUE / Echo.DOT / Echo.SHOW / Xiaomi Smart-Home / Xiaomi Robot Vacuum Cleaner / Synology DS 918+ / Shelly 1&2 <<<

                      Thomas BraunT 1 Antwort Letzte Antwort
                      0
                      • M MyMeyer

                        @thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:

                        @mymeyer Im Verzeichnis des angemeckerten Moduls.

                        Jetzt kommt das raus:-(

                        pi@iobroker-slave:/opt/iobroker $ cd node_modules/iobroker.js-controller/
                        pi@iobroker-slave:/opt/iobroker/node_modules/iobroker.js-controller $ pwd
                        /opt/iobroker/node_modules/iobroker.js-controller
                        pi@iobroker-slave:/opt/iobroker/node_modules/iobroker.js-controller $ npm install --production
                        
                        > iobroker.js-controller@3.1.6 preinstall /opt/iobroker/node_modules/iobroker.js-controller
                        > node lib/preinstallCheck.js
                        
                        NPM version: 6.14.11
                        npm WARN deprecated istanbul@0.4.5: This module is no longer maintained, try this instead:
                        npm WARN deprecated   npm i nyc
                        npm WARN deprecated Visit https://istanbul.js.org/integrations for other alternatives.
                        npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
                        npm WARN deprecated debug@3.2.6: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
                        npm WARN deprecated har-validator@5.1.5: this library is no longer supported
                        npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
                        npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
                        npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
                        npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
                        
                        > unix-dgram@2.0.3 install /opt/iobroker/node_modules/iobroker.js-controller/node_modules/unix-dgram
                        > node-gyp rebuild
                        
                        make: Entering directory '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/unix-dgram/build'
                          CXX(target) Release/obj.target/unix_dgram/src/unix_dgram.o
                        In file included from ../../nan/nan.h:56,
                                         from ../src/unix_dgram.cc:5:
                        /home/iobroker/.cache/node-gyp/12.20.2/include/node/node.h:737:43: warning: cast between incompatible function types from 'void (*)(v8::Local<v8::Object>)' to  node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
                               (node::addon_register_func) (regfunc),                          \
                                                                   ^
                        /home/iobroker/.cache/node-gyp/12.20.2/include/node/node.h:771:3: note: in expansion of macro 'NODE_MODULE_X'
                           NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                           ^~~~~~~~~~~~~
                        ../src/unix_dgram.cc:404:1: note: in expansion of macro 'NODE_MODULE'
                         NODE_MODULE(unix_dgram, Initialize)
                         ^~~~~~~~~~~
                          SOLINK_MODULE(target) Release/obj.target/unix_dgram.node
                          COPY Release/unix_dgram.node
                        make: Leaving directory '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/unix-dgram/build'
                        
                        > ursa-optional@0.9.10 install /opt/iobroker/node_modules/iobroker.js-controller/node_modules/ursa-optional
                        > node rebuild.js
                        
                        ursaNative bindings compilation fail. This is not an issue. Modules that depend on it will use fallbacks.
                        
                        > diskusage@1.1.3 install /opt/iobroker/node_modules/iobroker.js-controller/node_modules/diskusage
                        > node-gyp rebuild
                        
                        make: Entering directory '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/diskusage/build'
                          CXX(target) Release/obj.target/diskusage/src/main.o
                        In file included from ../../nan/nan.h:56,
                                         from ../src/main.cpp:3:
                        /home/iobroker/.cache/node-gyp/12.20.2/include/node/node.h:737:43: warning: cast between incompatible function types from 'void (*)(v8::Local<v8::Object>)' to  node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
                               (node::addon_register_func) (regfunc),                          \
                                                                   ^
                        /home/iobroker/.cache/node-gyp/12.20.2/include/node/node.h:771:3: note: in expansion of macro 'NODE_MODULE_X'
                           NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                           ^~~~~~~~~~~~~
                        ../src/main.cpp:42:1: note: in expansion of macro 'NODE_MODULE'
                         NODE_MODULE(diskusage, Init)
                         ^~~~~~~~~~~
                          CXX(target) Release/obj.target/diskusage/src/diskusage_posix.o
                          SOLINK_MODULE(target) Release/obj.target/diskusage.node
                          COPY Release/diskusage.node
                        make: Leaving directory '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/diskusage/build'
                        
                        > acme-v2@1.8.6 postinstall /opt/iobroker/node_modules/iobroker.js-controller/node_modules/acme-v2
                        > node scripts/postinstall
                        
                        
                        Greenlock and ACME.js v3 are on the way!
                        Watch for updates at https://indiegogo.com/at/greenlock
                        
                        
                        > iobroker.js-controller@3.1.6 install /opt/iobroker/node_modules/iobroker.js-controller
                        > node iobroker.js setup first
                        
                        internal/modules/cjs/loader.js:818
                          throw err;
                          ^
                        
                        Error: Cannot find module './_copyObject'
                        Require stack:
                        - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js
                        - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js
                        - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js
                        - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js
                        - /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js
                        - /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
                            at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
                            at Function.Module._load (internal/modules/cjs/loader.js:667:27)
                            at Module.require (internal/modules/cjs/loader.js:887:19)
                            at require (internal/modules/cjs/helpers.js:74:18)
                            at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js:1:18)
                            at Module._compile (internal/modules/cjs/loader.js:999:30)
                            at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
                            at Module.load (internal/modules/cjs/loader.js:863:32)
                            at Function.Module._load (internal/modules/cjs/loader.js:708:14)
                            at Module.require (internal/modules/cjs/loader.js:887:19) {
                          code: 'MODULE_NOT_FOUND',
                          requireStack: [
                            '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js',
                            '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js',
                            '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js',
                            '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js',
                            '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js',
                            '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js'
                          ]
                        }
                        npm ERR! code ELIFECYCLE
                        npm ERR! errno 1
                        npm ERR! iobroker.js-controller@3.1.6 install: `node iobroker.js setup first`
                        npm ERR! Exit status 1
                        npm ERR!
                        npm ERR! Failed at the iobroker.js-controller@3.1.6 install script.
                        npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                        
                        npm ERR! A complete log of this run can be found in:
                        npm ERR!     /home/iobroker/.npm/_logs/2021-02-20T11_07_58_610Z-debug.log
                        pi@iobroker-slave:/opt/iobroker/node_modules/iobroker.js-controller $
                        
                        
                        Thomas BraunT Online
                        Thomas BraunT Online
                        Thomas Braun
                        Most Active
                        schrieb am zuletzt editiert von
                        #781

                        @mymeyer

                        Versuch mal das

                        cd /opt/iobroker/node_modules/@serialport
                        npm install --production
                        

                        Linux-Werkzeugkasten:
                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                        NodeJS Fixer Skript:
                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                        M 1 Antwort Letzte Antwort
                        0
                        • Thomas BraunT Thomas Braun

                          @mymeyer

                          Versuch mal das

                          cd /opt/iobroker/node_modules/@serialport
                          npm install --production
                          
                          M Offline
                          M Offline
                          MyMeyer
                          schrieb am zuletzt editiert von
                          #782

                          @thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:

                          @mymeyer

                          Versuch mal das

                          cd /opt/iobroker/node_modules/@serialport
                          npm install --production
                          
                          pi@iobroker-slave:/opt/iobroker/node_modules/iobroker.js-controller $ cd /opt/iobroker/node_modules/@serialport
                          pi@iobroker-slave:/opt/iobroker/node_modules/@serialport $ npm install --production
                          
                          > iobroker.inst@2.0.3 install /opt/iobroker
                          > node lib/checkVersions.js
                          
                          NPM version: 6.14.11
                          
                          > iobroker.inst@2.0.3 postinstall /opt/iobroker
                          > node lib/install.js
                          
                          
                          
                          ╭─────────────────────────────────────────────────────────╮
                          │                                                         │
                          │ Manual installation of ioBroker is no longer supported  │
                          │ on Linux, OSX and FreeBSD!                              │
                          │ Please refer to the documentation on how to install it! │
                          │ https://github.com/ioBroker/ioBroker/wiki/Installation  │
                          │                                                         │
                          ╰─────────────────────────────────────────────────────────╯
                          
                          
                          npm ERR! code ELIFECYCLE
                          npm ERR! errno 100
                          npm ERR! iobroker.inst@2.0.3 postinstall: `node lib/install.js`
                          npm ERR! Exit status 100
                          npm ERR!
                          npm ERR! Failed at the iobroker.inst@2.0.3 postinstall script.
                          npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                          
                          npm ERR! A complete log of this run can be found in:
                          npm ERR!     /home/iobroker/.npm/_logs/2021-02-20T11_26_12_890Z-debug.log
                          pi@iobroker-slave:/opt/iobroker/node_modules/@serialport $
                          
                          

                          Und nun ?

                          MyMeyer

                          >>> Hardware: Intel I5 mit ****Debian ProxMox OS: Debian **** <<< >>> Network with UniFi <<<
                          >>> HomeMatic CCU-2 (Wired und Funk) / Philips HUE / Echo.DOT / Echo.SHOW / Xiaomi Smart-Home / Xiaomi Robot Vacuum Cleaner / Synology DS 918+ / Shelly 1&2 <<<

                          Thomas BraunT 1 Antwort Letzte Antwort
                          0
                          • M MyMeyer

                            @thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:

                            @mymeyer

                            Versuch mal das

                            cd /opt/iobroker/node_modules/@serialport
                            npm install --production
                            
                            pi@iobroker-slave:/opt/iobroker/node_modules/iobroker.js-controller $ cd /opt/iobroker/node_modules/@serialport
                            pi@iobroker-slave:/opt/iobroker/node_modules/@serialport $ npm install --production
                            
                            > iobroker.inst@2.0.3 install /opt/iobroker
                            > node lib/checkVersions.js
                            
                            NPM version: 6.14.11
                            
                            > iobroker.inst@2.0.3 postinstall /opt/iobroker
                            > node lib/install.js
                            
                            
                            
                            ╭─────────────────────────────────────────────────────────╮
                            │                                                         │
                            │ Manual installation of ioBroker is no longer supported  │
                            │ on Linux, OSX and FreeBSD!                              │
                            │ Please refer to the documentation on how to install it! │
                            │ https://github.com/ioBroker/ioBroker/wiki/Installation  │
                            │                                                         │
                            ╰─────────────────────────────────────────────────────────╯
                            
                            
                            npm ERR! code ELIFECYCLE
                            npm ERR! errno 100
                            npm ERR! iobroker.inst@2.0.3 postinstall: `node lib/install.js`
                            npm ERR! Exit status 100
                            npm ERR!
                            npm ERR! Failed at the iobroker.inst@2.0.3 postinstall script.
                            npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                            
                            npm ERR! A complete log of this run can be found in:
                            npm ERR!     /home/iobroker/.npm/_logs/2021-02-20T11_26_12_890Z-debug.log
                            pi@iobroker-slave:/opt/iobroker/node_modules/@serialport $
                            
                            

                            Und nun ?

                            Thomas BraunT Online
                            Thomas BraunT Online
                            Thomas Braun
                            Most Active
                            schrieb am zuletzt editiert von
                            #783

                            @mymeyer
                            Mach mal den cache leer

                            cd /optI/iobroker
                            npm cache clear --force
                            

                            Dann installier dien smartmeter-Adapter nochmal neu.

                            Linux-Werkzeugkasten:
                            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                            NodeJS Fixer Skript:
                            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                            M 1 Antwort Letzte Antwort
                            0
                            • Thomas BraunT Thomas Braun

                              @mymeyer
                              Mach mal den cache leer

                              cd /optI/iobroker
                              npm cache clear --force
                              

                              Dann installier dien smartmeter-Adapter nochmal neu.

                              M Offline
                              M Offline
                              MyMeyer
                              schrieb am zuletzt editiert von
                              #784

                              @thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:

                              @mymeyer
                              Mach mal den cache leer

                              cd /optI/iobroker
                              npm cache clear --force
                              

                              Dann installier dien smartmeter-Adapter nochmal neu.

                              Gemacht aber er läßt sich unten dem Master nicht löschen und somit auch nicht neu installieren.
                              Das kommt dabei raus:

                              Done with error: internal/modules/cjs/loader.js:818 throw err; ^Error: Cannot find module './_copyObject'Require stack:- /opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js- /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js- /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js- /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js- /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js- /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) at Function.Module._load (internal/modules/cjs/loader.js:667:27) at Module.require (internal/modules/cjs/loader.js:887:19) at require (internal/modules/cjs/helpers.js:74:18) at Object. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js:1:18) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Module.require (internal/modules/cjs/loader.js:887:19) { code: 'MODULE_NOT_FOUND', requireStack: [ '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js', '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js', '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js', '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js', '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js', '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js' ]}
                              

                              Dann habe ich ihn auf dem Master per "./iobroker del smartmeter.0" gelöscht. Aber in der Web Übersicht steht er immer noch. Und der Slave läuft ja noch nicht korrekt. Laut Iobroker status:

                              pi@iobroker-slave:/opt/iobroker $ iobroker status
                              internal/modules/cjs/loader.js:818
                                throw err;
                                ^
                              
                              Error: Cannot find module './_copyObject'
                              Require stack:
                              - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js
                              - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js
                              - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js
                              - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js
                              - /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js
                              - /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
                                  at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
                                  at Function.Module._load (internal/modules/cjs/loader.js:667:27)
                                  at Module.require (internal/modules/cjs/loader.js:887:19)
                                  at require (internal/modules/cjs/helpers.js:74:18)
                                  at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js:1:18)
                                  at Module._compile (internal/modules/cjs/loader.js:999:30)
                                  at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
                                  at Module.load (internal/modules/cjs/loader.js:863:32)
                                  at Function.Module._load (internal/modules/cjs/loader.js:708:14)
                                  at Module.require (internal/modules/cjs/loader.js:887:19) {
                                code: 'MODULE_NOT_FOUND',
                                requireStack: [
                                  '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js',
                                  '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js',
                                  '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js',
                                  '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js',
                                  '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js',
                                  '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js'
                                ]
                              }
                              pi@iobroker-slave:/opt/iobroker $
                              

                              Interesse an einer TeamViever Session ?

                              MyMeyer

                              >>> Hardware: Intel I5 mit ****Debian ProxMox OS: Debian **** <<< >>> Network with UniFi <<<
                              >>> HomeMatic CCU-2 (Wired und Funk) / Philips HUE / Echo.DOT / Echo.SHOW / Xiaomi Smart-Home / Xiaomi Robot Vacuum Cleaner / Synology DS 918+ / Shelly 1&2 <<<

                              Thomas BraunT 1 Antwort Letzte Antwort
                              0
                              • M MyMeyer

                                @thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:

                                @mymeyer
                                Mach mal den cache leer

                                cd /optI/iobroker
                                npm cache clear --force
                                

                                Dann installier dien smartmeter-Adapter nochmal neu.

                                Gemacht aber er läßt sich unten dem Master nicht löschen und somit auch nicht neu installieren.
                                Das kommt dabei raus:

                                Done with error: internal/modules/cjs/loader.js:818 throw err; ^Error: Cannot find module './_copyObject'Require stack:- /opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js- /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js- /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js- /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js- /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js- /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) at Function.Module._load (internal/modules/cjs/loader.js:667:27) at Module.require (internal/modules/cjs/loader.js:887:19) at require (internal/modules/cjs/helpers.js:74:18) at Object. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js:1:18) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Module.require (internal/modules/cjs/loader.js:887:19) { code: 'MODULE_NOT_FOUND', requireStack: [ '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js', '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js', '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js', '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js', '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js', '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js' ]}
                                

                                Dann habe ich ihn auf dem Master per "./iobroker del smartmeter.0" gelöscht. Aber in der Web Übersicht steht er immer noch. Und der Slave läuft ja noch nicht korrekt. Laut Iobroker status:

                                pi@iobroker-slave:/opt/iobroker $ iobroker status
                                internal/modules/cjs/loader.js:818
                                  throw err;
                                  ^
                                
                                Error: Cannot find module './_copyObject'
                                Require stack:
                                - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js
                                - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js
                                - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js
                                - /opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js
                                - /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js
                                - /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
                                    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
                                    at Function.Module._load (internal/modules/cjs/loader.js:667:27)
                                    at Module.require (internal/modules/cjs/loader.js:887:19)
                                    at require (internal/modules/cjs/helpers.js:74:18)
                                    at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js:1:18)
                                    at Module._compile (internal/modules/cjs/loader.js:999:30)
                                    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
                                    at Module.load (internal/modules/cjs/loader.js:863:32)
                                    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
                                    at Module.require (internal/modules/cjs/loader.js:887:19) {
                                  code: 'MODULE_NOT_FOUND',
                                  requireStack: [
                                    '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/y18n/index.js',
                                    '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/build/lib/yargs.js',
                                    '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/yargs.js',
                                    '/opt/iobroker/node_modules/iobroker.js-controller/node_modules/yargs/index.js',
                                    '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js',
                                    '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js'
                                  ]
                                }
                                pi@iobroker-slave:/opt/iobroker $
                                

                                Interesse an einer TeamViever Session ?

                                Thomas BraunT Online
                                Thomas BraunT Online
                                Thomas Braun
                                Most Active
                                schrieb am zuletzt editiert von
                                #785

                                @mymeyer sagte in [How-to] Node.js für ioBroker richtig updaten:

                                Interesse an einer TeamViever Session ?

                                Nein.

                                Linux-Werkzeugkasten:
                                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                NodeJS Fixer Skript:
                                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                M 2 Antworten Letzte Antwort
                                0
                                • Thomas BraunT Thomas Braun

                                  @mymeyer sagte in [How-to] Node.js für ioBroker richtig updaten:

                                  Interesse an einer TeamViever Session ?

                                  Nein.

                                  M Offline
                                  M Offline
                                  MyMeyer
                                  schrieb am zuletzt editiert von
                                  #786

                                  @thomas-braun sagte in [How-to] Node.js für ioBroker richtig updaten:

                                  @mymeyer sagte in [How-to] Node.js für ioBroker richtig updaten:

                                  Interesse an einer TeamViever Session ?

                                  Nein.

                                  :-) Und nun ... ?

                                  MyMeyer

                                  >>> Hardware: Intel I5 mit ****Debian ProxMox OS: Debian **** <<< >>> Network with UniFi <<<
                                  >>> HomeMatic CCU-2 (Wired und Funk) / Philips HUE / Echo.DOT / Echo.SHOW / Xiaomi Smart-Home / Xiaomi Robot Vacuum Cleaner / Synology DS 918+ / Shelly 1&2 <<<

                                  1 Antwort Letzte Antwort
                                  0
                                  • Thomas BraunT Thomas Braun

                                    @mymeyer sagte in [How-to] Node.js für ioBroker richtig updaten:

                                    Interesse an einer TeamViever Session ?

                                    Nein.

                                    M Offline
                                    M Offline
                                    MyMeyer
                                    schrieb am zuletzt editiert von
                                    #787

                                    @thomas-braun Hmm...also nachdem ich "npm install iobroker.js-controller@3.1.6 --production" gemacht habe, läuft der Slave wieder . Zumindest sagt es der Status und der Adapter läßt sich verbinden "grün" . Hmm... komisch. Bevor ich npm install gemacht hatte, habe ich noch das Verzeichnis /node_modules komplett gelöscht.

                                    Der Smartmeter überträgt Daten und es sind keine Fehler im Log.

                                    Ich würde sagen mit dem JS-controller 3.2.16 lasse ich mir jetzt noch etwas Zeit :-)

                                    MyMeyer

                                    >>> Hardware: Intel I5 mit ****Debian ProxMox OS: Debian **** <<< >>> Network with UniFi <<<
                                    >>> HomeMatic CCU-2 (Wired und Funk) / Philips HUE / Echo.DOT / Echo.SHOW / Xiaomi Smart-Home / Xiaomi Robot Vacuum Cleaner / Synology DS 918+ / Shelly 1&2 <<<

                                    apollon77A 1 Antwort Letzte Antwort
                                    0
                                    • M MyMeyer

                                      @thomas-braun Hmm...also nachdem ich "npm install iobroker.js-controller@3.1.6 --production" gemacht habe, läuft der Slave wieder . Zumindest sagt es der Status und der Adapter läßt sich verbinden "grün" . Hmm... komisch. Bevor ich npm install gemacht hatte, habe ich noch das Verzeichnis /node_modules komplett gelöscht.

                                      Der Smartmeter überträgt Daten und es sind keine Fehler im Log.

                                      Ich würde sagen mit dem JS-controller 3.2.16 lasse ich mir jetzt noch etwas Zeit :-)

                                      apollon77A Offline
                                      apollon77A Offline
                                      apollon77
                                      schrieb am zuletzt editiert von
                                      #788

                                      @mymeyer noch Zeit lassen? Neeee. Sorry das ich jetzt „am Ende“ hier klugscheisse ;-))

                                      Das mir @serialport war fast richtig ... man hätte nur das richtige unterverzeichnis nehmen müssen. Das wäre (wie es auch in der Fehlermeldung kryptisch zu sehen war: @serialport/bindings

                                      Dann wäre alles ohne den ganzen hassle gegangen ;-)

                                      Also Controller 3.2 ist easy im Vergleich dazu.

                                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                      Thomas BraunT 1 Antwort Letzte Antwort
                                      1
                                      • apollon77A apollon77

                                        @mymeyer noch Zeit lassen? Neeee. Sorry das ich jetzt „am Ende“ hier klugscheisse ;-))

                                        Das mir @serialport war fast richtig ... man hätte nur das richtige unterverzeichnis nehmen müssen. Das wäre (wie es auch in der Fehlermeldung kryptisch zu sehen war: @serialport/bindings

                                        Dann wäre alles ohne den ganzen hassle gegangen ;-)

                                        Also Controller 3.2 ist easy im Vergleich dazu.

                                        Thomas BraunT Online
                                        Thomas BraunT Online
                                        Thomas Braun
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #789

                                        @apollon77 @MyMeyer
                                        Oh, das mit bindings hatte ich übersehen.

                                        Linux-Werkzeugkasten:
                                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                        NodeJS Fixer Skript:
                                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                        1 Antwort Letzte Antwort
                                        2
                                        • StabilostickS Stabilostick

                                          MOD-EDIT: Dieser Thread und insbesondere diese Anleitung ist von 2019 und somit veraltet

                                          aktuell ist
                                          https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian


                                          Update März 2023: Die aktuelle Anleitung findet ihr hier : https://forum.iobroker.net/topic/64032/update-nodejs-best-practise-supported-14-16-und-18

                                          1. Einleitung

                                          Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht.

                                          Wie bei vielen Open-Source-Technologien üblich, entwickelt sich Node.js schnell weiter. Kleinere Updates, die die Stabilität und Sicherheit steigern oder gar neue Funktionen hinzufügen, erscheinen fast wöchentlich.

                                          Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 8.x). In 2017 war das Node.js 8, 2018 kam Node.js 10, dann 12.x hinzu und im Oktober 2021 wird Node.js 14 den LTS-Status erhalten.

                                          Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 6 im April 2019 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 8.x ist seit November 2019 raus.

                                          Alle Node.js-Versionen mit ungeraden Versionsnummern sind Entwicklungsversionen und sollten nicht produktiv genutzt werden.

                                          Auch ioBroker wird stetig weiterentwickelt und nutzt die neuen Funktionen aktueller Node.js-Versionen. Obwohl der ioBroker js-controller mit Versionen 1.4.x bzw. 1.5.x noch Node.js 4 unterstützt, fordern neue Adapter immer häufiger mindestens Node.js 8 als Grundvoraussetzung.

                                          Ab der Version 2.0 des js-controllers (das Freigabedatum ist noch nicht bekannt) sind die Anpassungen so tiefgreifend, dass die Node.js-Versionen 4 und 6 nicht mehr unterstützt werden können.

                                          Ab Version 3.0/3.1 vom Controller, der gerade (Stand 24.4.2020) im Latest Repository ist, wird Nodejs 10.x Minimum sein.

                                          Alle paar Jahre steht also für eine ioBroker-Installation ein Update von Node.js an. Dieser Artikel soll zusammenfassen wir man dazu am besten vorgeht.

                                          2. Wer sollte updaten?

                                          Aktuell empfehlen wir, bei ioBroker-Neuinstallationen mindestens Node.js 10, besser noch 12.x. zu verwenden. Es sind wenige Adapter bekannt, die nicht mit Node 10/12 funktionieren: Details dazu in https://forum.iobroker.net/topic/30561/status-iobroker-und-node-js-12-x

                                          Windows-Anwendern empfehlen wir, auf jeden Fall am Test des neuen Windows-Installers teilzunehmen: https://forum.iobroker.net/post/266623
                                          Der zukünftige Windows-Installer für ioBroker wird eine Funktion erhalten, bestehende Installationen automatisch auf aktuelle js-controller- und Node.js-Versionen zu migrieren, ohne dass man die Kommandozeile bemühen muss.

                                          Bevor man beginnt, sollte man in der Befehlszeile mit dem Befehl

                                          node -v
                                          

                                          überprüfen, welche Version von Node.js gerade installiert ist. Eine gute Idee ist es, diese Versionsangabe auch mit der Node.js-Version im Übersichts-Fenster des ioBroker-Admins für diesen Host zu vergleichen. Sollten sich die Versionen unterscheiden, sind mehrere Node.js-Varianten installiert, was zu Problemen führen kann.

                                          Grundsätzlich gilt: Sollte das ioBroker-System stabil laufen, muss Node.js auch nicht auf Gedeih und Verderb upgedated werden. Wenn aber die Installation bestimmter Adapter fehlschlägt (wohlmöglich sogar mit entsprechender Fehlermeldung) oder eine Node-Version < 4 für einen js-controller > Version 1.4.x eingesetzt wird, sollte über ein Node.js-Update nachgedacht werden. Es sind auch Probleme für die Node.js-Versionen 8.0 - 8.12 mit volllaufendem RAM bekannt, so dass wir auch hier ein Update empfehlen.

                                          Wie bereits gesagt: Sollte das ioBroker-System stabil laufen und ist die Installation technisch nicht gefordert, muss Node.js auch nicht auf Gedeih und Verderb upgedated werden.

                                          3. Was sollte ich vor dem Update tun?

                                          Hinweis: Falls die Version des js-controllers <= 1.5.12 ist, muss VOR dem Update in den Einstellungen der Admin-Instanz "Verschlüsselung (https) benutzen" ausgeschaltet werden. Das in ioBroker bis dahin integrierte Zertifikat kann zu Problemen beim Starten des Admin bei Node.js-Versionen >= 10 führen.

                                          Damit es nach dem Update zu keinen Inkompatibilitäten oder Probleme kommt sollte man alle Adapter prüfen und aktualisieren. Vor allem Adapter mit nativen Bestandteilen, wie alles mit Serialport oder Bluetooth können Probleme bereiten. Hier am besten die Adapter-Readme's per Admin oder im GitHub prüfen, ob neue Versionen zur Verfügung stehen die die geplante Node.js Version explizit erst unterstützen. Auch wenn diese Versionen ggf. noch im "Latest" Repository sind muss man diese vorher aktualisieren. Alternativ wartet man mit der ganzen Update-Aktion bis die neuen Versionen im "Stable" Repository sind, schreibt den Entwickler dazu an oder fragt im Forum nach.

                                          Wenn man diesen Schritt nicht durchführt kann es zu unnötigen Problemen beim update der Adapter kommen!

                                          4. Step-by-step-Anleitung für Unix-Systeme

                                          • Zuerst muss natürlich unbedingt ein Backup erstellt werden. Dazu kann z.B. der BackItUp-Adapter genutzt oder der Kommandozeilenbefehl

                                            cd /opt/iobroker
                                            iobroker backup
                                            

                                            ausgeführt werden. Das Backup sollte aktuell sein, damit möglichst keine Daten verloren gehen.

                                          • Anschließend ioBroker stoppen, damit Updates keine Nebeneffekte oder Abstürze verursachen.

                                            iobroker stop
                                            

                                            Bitte anschließend im Webbrowser prüfen, dass der ioBroker-Admin danach wirklich nicht mehr startet. Sollte er weiterhin aufrufbar sein, dann den Rechner neu starten und nochmals „iobroker stop“ ausführen und erneut testen. Für die Techniker unter uns: Man kann auch mit einem Tool wie "top" prüfen, ob noch Prozesse existieren, die mit "io." beginnen. Die dann mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.

                                          • Jetzt aktualisiert man Node.js auf die gewünschte neue Version.

                                            Unter Linux reicht es, dazu den Nodesource-Installationsbefehl für das jeweilige Betriebssystem auszuführen. Verschiedene Varianten sind unter https://github.com/nodesource/distributions#debinstall gelistet.

                                            Zum Beispiel lauten die Befehle für einen Raspberry Pi der ein Debian bzw. Raspbian-Image verwendet wie folgt, wenn man nicht als root-User (z.B. richtig mit dem User "pi") angemeldet ist:

                                            curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
                                            sudo apt-get install -y nodejs
                                            

                                          Für nodejs 12 einfach in der URL oben anstelle der 10 eine 12 reinpacken.

                                          Für macOS gibt einen Installer auf https://nodejs.org/en/download/ , den man einfach ausführt.

                                          Ob die Aktualisierung geklappt hat, kann man wieder mit dem Befehl

                                          node -v
                                          

                                          überprüfen.

                                          • Da die Installation von Node.js einige Einstellungen am System verändert haben kann, ist es jetzt ratsam, den ioBroker-Installationsfixer aufzurufen. Das geschieht mit dem Befehl

                                            curl -sL https://iobroker.net/fix.sh | bash -
                                            

                                            Er stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her.

                                          • Bei einer Aktualisierung von Node.js müssen bereits installierte JavaScript- Module im ioBroker-Ordner aktualisiert werden, da sonst Fehler bei deren Ausführung auftreten.

                                            Um diese zu aktualisieren gibt es mehrere Möglichkeiten:

                                            a) ab js-controller 3.0: Automatischer Rebuild
                                            ioBroker versucht seit dem js-controller 3.0 automatisch Adapter zu erkennen die nicht starten weil Sie aktualisiert werden müssen. Dies funktioniert so das die typischen Fehlermeldungen erkannt werden und ioBroker dann die Aktualisierung versucht. Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert. Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte Geduld haben!
                                            Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Hier zu gibt es iobroker rebuild adaptername und falls das nicht reicht iobroker rebuild adaptername --install. Das einfach manuell ausführen. Damit sollte alles idealerweise automatisiert erledigt sein. Falls hie rirgendetwas gar nicht geht dann helfen die weiteren Optionen.

                                            b) npm rebuild
                                            Der erste Versuch sollte immer mit dem Befehl "npm rebuild" im ioBroker Verzeichnis stattfinden, weil dies am saubersten funktioniert und direkt von der Paketverwaltung ausgeführt wird. Im Idealfall dauert das ein paar Minuten und es könnten ein paar Warnungen gelistet werden.
                                            Falls es aber Fehler gibt, werden wir zusammen versuchen im nächsten Post alle bekannten Fälle mit Ihren Lösungsansätzen zu sammeln. Wenn das funktioniert ist dies der schnellste und sauberste Weg.

                                            c) reinstall-Skript
                                            Sollte das nicht klappen, beinhaltet der js-Controller ein reinstall-Skript ("reinstall.sh" bzw. ab js-controller 1.5.x "reinstall.js"). Dieses Skript erkennt alle installierten ioBroker-Adapter, löscht diese dann aus dem node_modules-Verzeichnis und installiert sie neu. Dieser Ansatz ist etwas aufwändiger als "npm rebuild", erfüllt aber den gleichen Zweck. Das funktioniert generell gut, man sollte den Prozess aber nicht abbrechen. Falls es doch passiert oder es Probleme beim Starten nach dieser Prozedur gibt, dann am besten den Weg im nächsten Punkt wählen.
                                            Das reinstall.sh-Skript welches im js-controller 1.4 mitgeliefert wurde hat ein Formatierungsproblem und muss vorher noch für Linux mit den Befehlen

                                            cd /opt/iobroker
                                            sudo mv reinstall.sh reinstall.dos
                                            sudo tr -d '\r' < reinstall.dos > reinstall.sh
                                            sudo chmod +x reinstall.sh
                                            

                                            korrigiert werden, damit es funktioniert.

                                            d) Reset aller Module in node_modules
                                            Eine weitere Variante, die gründlich ist, aber etwas Zeit kostet, ist der Ansatz einfach alles Alte unter Beibehaltung der Daten und Einstellungen neu zu installieren. Wichtig ist, das iobroker-data Verzeichnis nicht zu verändern. Häufig können mit dieser Vorgehensweise auch andere (verborgene) Installationsfehler repariert werden.

                                            Dazu löscht man zuerst das gesamte node_modules Verzeichnis im ioBroker-Verzeichnis.

                                            cd /opt/iobroker
                                            sudo rm -r node_modules/ 
                                            

                                            Nachdem der Befehl abgesetzt wurde, fragt das Programm, ob in den Ordner "hinabgestiegen" werden soll (sofern es ein tieferer Unterordner ist) und ob der (schreibgeschützte) Ordner wirklich gelöscht werden soll - beides bestätigt man mit "Ja" (j) oder "Yes" (y).

                                            Danach installiert man den Controller in der relevanten Version (hier z.B. 2.2.8 der zum Zeitpunkt des Schreibens die aktuelle "Stable"-Version ist):

                                            npm install iobroker.js-controller@2.2.8 --production
                                            

                                            Anschließend startet man ioBroker.

                                            iobroker start
                                            

                                            ioBroker wird korrekterweise feststellen, dass die Adapter, die er starten will, nicht installiert sind - und diese einfach automatisch nachinstallieren. Je nach System kann dies einige Zeit dauern - gern auch ein paar Stunden (oder bei langsamen SD-Karten die ganze Nacht). Aber danach ist alles aktualisiert. Der Installationsfortschritt ist im Admin im Log-Fenster zu sehen.

                                            Zu beachten ist, dass Adapter, die man manuell von GitHub installiert hat, den Fehler Can not parse null/io-package.json:Error: ENOENT: no suche file or directory ... im ioBroker-Log erzeugen.
                                            Diese Adapter nach Abschluss der automatischen Installationssequenz wie gehabt über das Adapterfenster manuell von GitHub nachinstallieren und nach der Installation die bestehende diesbezügliche Instanz von Hand starten.

                                            Ratsam ist es auch, im Log nach der Installation nach dem Wort yourself zu suchen. Hier werden ggf. npm-Module angezeigt, die nicht automatisch installiert wurden. Sie können/sollten manuell über die Kommandozeile mit npm i <Packetname>@<version>, ausgeführt im iobroker-Ordner, nachinstalliert werden. Dazu zuerst den ioBroker stoppen, npm ausführen und dann den ioBroker wieder starten.

                                            Wenn man dabei npm als root-User per Hand in der Kommandozeile ausgeführt hat, schlage ich zur Korrektur eventueller Berechtigungsfehler vor, vor dem Start von ioBroker das Fixerscript laufen zu lassen.

                                            cd /opt/iobroker
                                            iobroker stop
                                            npm i <Packetname>@<version>
                                            curl -sL https://iobroker.net/fix.sh | bash -
                                            iobroker start
                                            

                                            e) Neuinstallation mit Restore
                                            Eine kleine Abwandlung der letzten Variante ist eine Neuinstallation. Hierbei sichert man das "iobroker-data" Verzeichnis (oder nutzt das Backup von oben). Dann löscht man das gesamte ioBroker-Verzeichnis und nutzt den Installer.

                                            cp -r /opt/iobroker/iobroker-data <Pfad_zum_sicheren_Ort> 
                                            sudo rm -r /opt/iobroker/ 
                                            sudo mkdir /opt/iobroker
                                            cd /opt/iobroker
                                            curl -sL https://iobroker.net/install.sh | bash -
                                            

                                            Direkt danach stoppt man ioBroker wieder (der ja nach der Installation automatisch gestartet wird).

                                            iobroker stop
                                            

                                            Dann löscht man den neu erstellen „iobroker-data“- Ordner und kopiert anschließend das gesicherte alte „iobroker-data“-Verzeichnis mit den darin enthaltenen Datenbanken und Dateien dorthin zurück.

                                            rm -r /opt/iobroker/iobroker-data
                                            cp -r <Pfad_zum_sicheren_Ort> /opt/iobroker/iobroker-data  
                                            

                                            Anschließend wieder ioBroker starten. Der Rest läuft dann wie bei c) und dauert seine Zeit.

                                          5. Zu guter Letzt

                                          Bitte gebt euer Feedback, was bei euch wie gut funktioniert, was ihr immer nutzt und was die Probleme und eure Lösungen sind.

                                          Viele Grüße,
                                          apollon77
                                          stabilostick

                                          P Offline
                                          P Offline
                                          ps1304
                                          schrieb am zuletzt editiert von
                                          #790

                                          @stabilostick Hallo - gibts es schon einen Updater für Windows? HAbe iobroker mit dem Windows Installer installiert - scheitere aber immer am Update der node.js bzw. der js-controller Versionen.
                                          Gruß peter

                                          sigi234S 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          694

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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