Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. JS instanzen mit unterschiedlichen Serialport versionen?

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    JS instanzen mit unterschiedlichen Serialport versionen?

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

      @wendy2702 Das dependency-"management" vom JS-Adapter ist dafür denke ich nicht ausgegoren genug. Die Abhängigkeiten werden direkt als Abhängigkeiten des Adapter selbst installiert. Der existiert nur 1x auf der Platte und kann damit auch nur 1x serialport als dependency haben, weil alles in die gleiche package.json eingetragen wird.

      wendy2702 2 Replies Last reply Reply Quote 0
      • wendy2702
        wendy2702 @AlCalzone last edited by

        @alcalzone OK. Danke.

        Dann muss ich zum testen einen anderen PI nehmen.

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

          @alcalzone Habe einen iobroker komplett neu installiert.

          Dann im Javascript Adapter 5.4.0 das Modul Serialport 10.4.0 eingetragen:

          3907fdeb-3378-4deb-9b76-f3abcfdaf404-grafik.png

          Wurde scheinbatr auch installiert:

          2022-03-15 17:36:53.521  - info: javascript.0 (7639) starting. Version 5.4.0 in /opt/iobroker/node_modules/iobroker.javascript, node: v14.19.0, js-controller: 4.0.21
          2022-03-15 17:36:53.594  - info: javascript.0 (7639) npm install serialport@10.4.0 --production (System call)
          2022-03-15 17:37:02.925  - info: javascript.0 (7639)
          > @serialport/bindings-cpp@10.7.0 install /opt/iobroker/node_modules/iobroker.javascript/node_modules/@serialport/bindings-cpp
          > node-gyp-build
          
          
          2022-03-15 17:37:03.968  - info: javascript.0 (7639) + serialport@10.4.0
          added 19 packages from 88 contributors and audited 20 packages in 7.962s
          
          2022-03-15 17:37:04.047  - info: javascript.0 (7639)
          12 packages are looking for funding
            run `npm fund` for details
          
          
          2022-03-15 17:37:04.051  - info: javascript.0 (7639) found 0 vulnerabilities
          
          
          2022-03-15 17:37:04.153  - debug: javascript.0 (7639) Loaded TypeScript definitions for node: ["node_modules/@types/node/package.json","node_modules/@types/node/index.d.ts","node_modules/@types/node/assert.d.ts","node_modules/@types/node/globals.d.ts","node_modules/@types/node/async_hooks.d.ts","node_modules/@types/node/buffer.d.ts","node_modules/@types/node/child_process.d.ts","node_modules/@types/node/cluster.d.ts","node_modules/@types/node/console.d.ts","node_modules/@types/node/constants.d.ts","node_modules/@types/node/crypto.d.ts","node_modules/@types/node/dgram.d.ts","node_modules/@types/node/dns.d.ts","node_modules/@types/node/domain.d.ts","node_modules/@types/node/events.d.ts","node_modules/@types/node/fs.d.ts","node_modules/@types/node/fs/promises.d.ts","node_modules/@types/node/http.d.ts","node_modules/@types/node/http2.d.ts","node_modules/@types/node/https.d.ts","node_modules/@types/node/inspector.d.ts","node_modules/@types/node/module.d.ts","node_modules/@types/node/net.d.ts","node_modules/@types/node/os.d.ts","node_modules/@types/node/path.d.ts","node_modules/@types/node/perf_hooks.d.ts","node_modules/@types/node/process.d.ts","node_modules/@types/node/punycode.d.ts","node_modules/@types/node/querystring.d.ts","node_modules/@types/node/readline.d.ts","node_modules/@types/node/repl.d.ts","node_modules/@types/node/stream.d.ts","node_modules/@types/node/string_decoder.d.ts","node_modules/@types/node/timers.d.ts","node_modules/@types/node/tls.d.ts","node_modules/@types/node/trace_events.d.ts","node_modules/@types/node/tty.d.ts","node_modules/@types/node/url.d.ts","node_modules/@types/node/util.d.ts","node_modules/@types/node/v8.d.ts","node_modules/@types/node/vm.d.ts","node_modules/@types/node/wasi.d.ts","node_modules/@types/node/worker_threads.d.ts","node_modules/@types/node/zlib.d.ts","node_modules/@types/node/globals.global.d.ts"]
          2022-03-15 17:37:04.212  - debug: javascript.0 (7639) Loaded TypeScript definitions for request: ["node_modules/@types/request/package.json","node_modules/@types/request/index.d.ts"]
          2022-03-15 17:37:04.290  - info: javascript.0 (7639) requesting all states
          2022-03-15 17:37:04.293  - info: javascript.0 (7639) requesting all objects
          2022-03-15 17:37:05.355  - info: javascript.0 (7639) received all states
          2022-03-15 17:37:05.377  - info: javascript.0 (7639) received all objects
          
          

          Nur warum habe ich danach noch diese Meldungen:

          pi@iob-test:/opt/iobroker $ npm ls serialport
          iobroker.inst@3.0.0 /opt/iobroker
          ├─┬ iobroker.discovery@2.7.5
          │ └── serialport@9.2.8
          └─┬ iobroker.javascript@5.4.0
            └── UNMET DEPENDENCY serialport@^10.4.0
          
          npm ERR! missing: serialport@^10.4.0, required by iobroker.javascript@5.4.0
          
          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @wendy2702 last edited by Thomas Braun

            @wendy2702

            Nur ein Schuss in's Blaue:
            Kann es sein, das serialport@10 eine nodeJS > 14 voraussetzt?

            Edit: Nö, es muss nur nodeJS > 10 sein.

            wendy2702 1 Reply Last reply Reply Quote 0
            • wendy2702
              wendy2702 @Thomas Braun last edited by

              @thomas-braun

              Das ganze ist aus dem Thread entstanden https://forum.iobroker.net/topic/11059/script-hilfe-für-abfrage-serielle-kommunikation-gesucht/134?page=7

              Du erinnerst dich bestimmt 😉

              Ich will auf einem Testsystem zum anpassen und Testen des Scripts die Version 10.4.0 sauber installieren und schaffe es nicht.

              Das war auch Erfolglos:

              pi@iob-test:/opt/iobroker $ cd node_modules/iobroker.javascript/
              pi@iob-test:/opt/iobroker/node_modules/iobroker.javascript $ npm i serialport@10.4.0
              
              > es5-ext@0.10.58 postinstall /opt/iobroker/node_modules/iobroker.javascript/node_modules/es5-ext
              > node -e "try{require('./_postinstall')}catch(e){}"
              
              npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/fsevents):
              npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})
              npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/mocha/node_modules/fsevents):
              npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})
              
              + serialport@10.4.0
              added 650 packages from 441 contributors, updated 1 package and audited 678 packages in 64.805s
              
              52 packages are looking for funding
                run `npm fund` for details
              
              found 2 high severity vulnerabilities
                run `npm audit fix` to fix them, or `npm audit` for details
              pi@iob-test:/opt/iobroker/node_modules/iobroker.javascript $ cd ..
              pi@iob-test:/opt/iobroker/node_modules $ cd ..
              pi@iob-test:/opt/iobroker $ npm ls serialport
              iobroker.inst@3.0.0 /opt/iobroker
              ├─┬ iobroker.discovery@2.7.5
              │ └── serialport@9.2.8
              └─┬ iobroker.javascript@5.4.0
                └── UNMET DEPENDENCY serialport@^10.4.0
              
              npm ERR! missing: serialport@^10.4.0, required by iobroker.javascript@5.4.0
              pi@iob-test:/opt/iobroker $
              
              

              An NodeJS hatte ich auch schon gedacht, bin aber auch zu dem Ergebnis gekommen das es mit 14 laufen sollte.

              Hast du noch eine Idee?

              Thomas Braun AlCalzone 2 Replies Last reply Reply Quote 0
              • Thomas Braun
                Thomas Braun Most Active @wendy2702 last edited by

                @wendy2702 sagte in JS instanzen mit unterschiedlichen Serialport versionen?:

                Hast du noch eine Idee?

                Nee.
                Da will man mal was 'falsch haben' und bekommt es nicht nachgestellt. 😄

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

                  @wendy2702 führ mal folgendes aus:

                  cd /opt/iobroker/node_modules/iobroker.javascript
                  npm ls serialport
                  

                  Könnte sein, dass das aus dem root-Verzeichnis nicht "sichtbar" ist.

                  Dein Log oben zeigt jedenfalls, dass Serialport 10 kompiliert wurde:

                  @serialport/bindings-cpp@10.7.0

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

                    @alcalzone In dem dir ist es sichtbar:

                    pi@iob-test:/opt/iobroker/node_modules/iobroker.javascript $ npm ls serialport
                    iobroker.javascript@5.4.0 /opt/iobroker/node_modules/iobroker.javascript
                    └── serialport@10.4.0
                    
                    pi@iob-test:/opt/iobroker/node_modules/iobroker.javascript $ cd /opt/iobroker/
                    pi@iob-test:/opt/iobroker $ npm ls serialport
                    iobroker.inst@3.0.0 /opt/iobroker
                    ├─┬ iobroker.discovery@2.7.5
                    │ └── serialport@9.2.8
                    └─┬ iobroker.javascript@5.4.0
                      └── UNMET DEPENDENCY serialport@^10.4.0
                    
                    npm ERR! missing: serialport@^10.4.0, required by iobroker.javascript@5.4.0
                    
                    

                    Aber wieso ist es im Tree nicht mehr sichtbar? Ging ja noch mit Serialport 9.2.8 ???

                    pi@iobroker-garage-gross:/opt/iobroker $ npm ls serialport
                    iobroker.inst@2.0.3 /opt/iobroker
                    ├─┬ iobroker.javascript@5.2.21
                    │ └── serialport@9.2.8
                    └─┬ iobroker.modbus@3.4.17
                      └── serialport@9.2.8  deduped
                    
                    pi@iobroker-garage-gross:/opt/iobroker $
                    
                    

                    Einziger Unterschied ist die Version Javascript.

                    Neues System

                    pi@iob-test:/opt/iobroker $ iob update
                    Used repository: beta
                    Adapter    "admin"        : 5.3.1    , installed 5.3.1
                    Adapter    "backitup"     : 2.3.5    , installed 2.3.3  [Updatable]
                    Adapter    "discovery"    : 2.8.0    , installed 2.7.5  [Updatable]
                    Adapter    "javascript"   : 5.4.0    , installed 5.4.0
                    Controller "js-controller": 4.0.21   , installed 4.0.21
                    pi@iob-test:/opt/iobroker $ iob v
                    4.0.21
                    pi@iob-test:/opt/iobroker $ node -v
                    v14.19.0
                    pi@iob-test:/opt/iobroker $ npm -v
                    6.14.16
                    pi@iob-test:/opt/iobroker $
                    
                    

                    Altes System:

                    pi@iobroker-garage-gross:/opt/iobroker $ iob update
                    Used repository: Beta (latest)
                    Adapter    "admin"        : 5.3.1    , installed 5.3.1
                    Adapter    "javascript"   : 5.4.0    , installed 5.2.21 [Updatable]
                    Controller "js-controller": 4.0.21   , installed 4.0.21
                    Adapter    "modbus"       : 3.4.17   , installed 3.4.17
                    Adapter    "rpi2"         : 1.3.2    , installed 1.3.2
                    pi@iobroker-garage-gross:/opt/iobroker $ iob v
                    4.0.21
                    pi@iobroker-garage-gross:/opt/iobroker $ node -v
                    v14.19.0
                    pi@iobroker-garage-gross:/opt/iobroker $ npm -v
                    6.14.16
                    pi@iobroker-garage-gross:/opt/iobroker $
                    
                    

                    Und natürlich die Serialport Version ist unterschiedlich.

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

                      @wendy2702 Eigenheiten von npm...
                      In /opt/iobroker gibt es eine package-lock.json, die den Dependency-Tree aus Sicht von /opt/iobroker abbildet. Daran orientiert sich npm beim ls, und diese enthält serialport 10 nicht.

                      In /opt/iobroker/node_modules/javascript gibt es durch die Installation einer neuen Abhängigkeit dort ebenfalls eine pacakge-lock.json, die quasi das Unter-Projekt aus Sicht des js-Adapters abbildet. Darin ist auch serialport 10 enthalten. Das geht ein bisschen gegen das wie npm seit Version 5 funktioniert, aber derzeit haben wir keine bessere Lösung.

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

                        @alcalzone Sorry falls ich nerve.

                        Wie kommt denn die Version Serialport 9.2.8 in den Dependency Tree unter /opt/iobroker/ wenn dort Serialport nie installiert wurde?

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

                          @wendy2702 Discovery bringt den mit:

                          ├─┬ iobroker.discovery@2.7.5
                          │ └── serialport@9.2.8
                          

                          Und modbus:

                          └─┬ iobroker.modbus@3.4.17
                            └── serialport@9.2.8  deduped
                          

                          Dadurch dass jetzt nachträglich im javascript Unterordner gezielt Abhängigkeiten nachinstalliert wurden, wurde da quasi ein neues "Projekt" aufgemacht.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          965
                          Online

                          32.1k
                          Users

                          80.7k
                          Topics

                          1.3m
                          Posts

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