Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. [gelöst] Canvas - compiled against a different Node.js vers,

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [gelöst] Canvas - compiled against a different Node.js vers,

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      anno171986 @mickym last edited by

      @mickym Auch nach der De- und Neuinstallation von eCahrts sieht es so aus:

      pi@raspberrypi:/opt/iobroker$ npm list canvas
      iobroker.core@1.0.0 /opt/iobroker
      └── (empty)
      
      pi@raspberrypi:/opt/iobroker$ cd /opt/iobroker/node_modules
      pi@raspberrypi:/opt/iobroker/node_modules$ npm list canvas
      iobroker.core@1.0.0 /opt/iobroker
      └── (empty)
      

      Skript gibt den selben Fehler aus:

      Cannot find required modules: Error: Cannot find module 'canvas'Require stack:- /opt/iobroker/node_modules/iobroker.echarts/main.js
      
      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @anno171986 last edited by mickym

        @anno171986 Na ich sehe Du bist auch noch auf buster und altem Betriebssystem. Man könnte nochmal versuchen, dass komplette nodejs runterzuschmeissen und neu zu installieren. Im Prinzip scheitert die Installation vom dem canvas ja an irgendeinem Module der node-js.

        Wie gesagt - wenn Du eh nichts mehr zu verlieren hast, würde ich das noch versuchen.
        Also iob stoppen - nodejs deinstallieren die ganzen npm Verzeichnisse manuell löschen und nodejs neu installieren.

        also

        sudo apt remove nodejs
        

        dann schauen, ob

        nodejs -v 
        npm -v
        

        keine Ausgaben mehr liefert und unter /usr/lib keine node_modules Verzeichnis mehr gibt.

        Wenn alles weg ist - dann mit

        sudo apt install nodejs
        

        wieder installieren

        Ich habe den echarts Adapter auf meiner Testmaschine installiert ohne Probleme - das canvas Verzeichnis taucht dann auch auf. Also wie gesagt denke ich, dass da irgendwas uralt ist, deswegen bekommst Du da auch keinen schönen Baum hin. - Ab jetzt bin ich mit meiner Weisheit denke ich auch am Ende.

        A 3 Replies Last reply Reply Quote 0
        • A
          anno171986 @mickym last edited by

          @mickym Hatte ein Systemupdate nach der Anleitungt versucht, klappt aber auch nicht 😞

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @anno171986 last edited by mickym

            @anno171986 sagte in Canvas -> compiled against a different Node.js version:

            @mickym Hatte ein Systemupdate nach der Anleitungt versucht, klappt aber auch nicht 😞

            Wie gesagt probier mal node-js neu zu installieren - iob stoppen.

            Das gesamte Update von buster auf bullseye versuche lieber die Anleitung von @Thomas-Braun

            https://forum.iobroker.net/topic/47213/upgrade-von-debian-10-buster-auf-11-bullseye

            Ich hab zumindest auf meiner Testmaschine mal nodejs komplett runtergeschmissen und neu installiert und das hat funktioniert.

            A 1 Reply Last reply Reply Quote 0
            • A
              anno171986 @mickym last edited by

              @mickym Das Update auf bullseye hat er jetzt nach der Anleitung von @Thomas-Braun thomas gemacht.

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @anno171986 last edited by

                @anno171986 Na das ist doch schon mal gut - wie sieht die nodejs Version aus, hast Du die nodesource.list auch editiert

                A 1 Reply Last reply Reply Quote 0
                • A
                  anno171986 @mickym last edited by

                  @mickym

                  pi@raspberrypi:/opt/iobroker$ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
                  /usr/bin/nodejs
                  v16.18.1
                  /usr/bin/node
                  v16.18.1
                  /usr/bin/npm
                  8.19.2
                  nodejs:
                    Installiert:           16.18.1-deb-1nodesource1
                    Installationskandidat: 16.18.1-deb-1nodesource1
                    Versionstabelle:
                   *** 16.18.1-deb-1nodesource1 500
                          500 https://deb.nodesource.com/node_16.x bullseye/main armhf Packages
                          100 /var/lib/dpkg/status
                       12.22.12~dfsg-1~deb11u1 500
                          500 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages
                  

                  Das mit dem nodejs habe ich noch nicht gemacht. Habe jetzt öeider auch keine Zeit mehr. Muss dann morgen Abend weiter versuchen

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @anno171986 last edited by

                    @anno171986 Na vielleicht gehts ja auch so schon

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      anno171986 @mickym last edited by

                      @mickym Nein, leider nicht. Auch Neuinstallation von echarts ädnert nichts. Er scheint canvas nicht zu installieren und auch manuell geht es nicht.

                      Nach dem Update auf Bullseye geht mein SQl Adapter nicht mehr. Irgendwas ist mit der Datenbank "kaputt". Komme auch nicht mit HEidiSQL mehr drauf

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @anno171986 last edited by

                        @anno171986 Na dann musst erst mal schauen, ob die mysql Service läuft.

                        Schau mal

                        systemctl status mysql
                        
                        A 1 Reply Last reply Reply Quote 0
                        • A
                          anno171986 @mickym last edited by

                          @mickym said in Canvas -> compiled against a different Node.js version:

                          systemctl status mysql

                          pi@raspberrypi:~$ systemctl status mysql
                          ● mariadb.service - MariaDB 10.5.15 database server
                               Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
                               Active: active (running) since Sun 2022-11-20 17:40:49 CET; 24min ago
                                 Docs: man:mariadbd(8)
                                       https://mariadb.com/kb/en/library/systemd/
                              Process: 545 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
                              Process: 555 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
                              Process: 576 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set>
                              Process: 685 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
                              Process: 688 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
                             Main PID: 665 (mariadbd)
                               Status: "Taking your SQL requests now..."
                                Tasks: 8 (limit: 4915)
                                  CPU: 2.701s
                               CGroup: /system.slice/mariadb.service
                                       └─665 /usr/sbin/mariadbd
                          
                          Nov 20 17:40:49 raspberrypi systemd[1]: Started MariaDB 10.5.15 database server.
                          Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[690]: Upgrading MySQL tables if necessary.
                          Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
                          Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: Looking for 'mysql' as: /usr/bin/mysql
                          Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
                          Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: This installation of MariaDB is already upgraded to 10.5.15-MariaDB.
                          Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: There is no need to run mysql_upgrade again for 10.5.15-MariaDB.
                          Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: You can use --force if you still want to run mysql_upgrade
                          Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[701]: Checking for insecure root accounts.
                          Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[705]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables
                          

                          Scheint zu laufen. Jetzt muss ich wirklich los

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @anno171986 last edited by

                            @anno171986 Ok - dann viel Spaß.

                            1 Reply Last reply Reply Quote 0
                            • A
                              anno171986 @mickym last edited by

                              @mickym said in Canvas -> compiled against a different Node.js version:

                              @anno171986 Na ich sehe Du bist auch noch auf buster und altem Betriebssystem. Man könnte nochmal versuchen, dass komplette nodejs runterzuschmeissen und neu zu installieren. Im Prinzip scheitert die Installation vom dem canvas ja an irgendeinem Module der node-js.

                              Wie gesagt - wenn Du eh nichts mehr zu verlieren hast, würde ich das noch versuchen.
                              Also iob stoppen - nodejs deinstallieren die ganzen npm Verzeichnisse manuell löschen und nodejs neu installieren.

                              also

                              sudo apt remove nodejs
                              

                              dann schauen, ob

                              nodejs -v 
                              npm -v
                              

                              keine Ausgaben mehr liefert und unter /usr/lib keine node_modules Verzeichnis mehr gibt.

                              Wenn alles weg ist - dann mit

                              sudo apt install nodejs
                              

                              wieder installieren

                              Ich habe den echarts Adapter auf meiner Testmaschine installiert ohne Probleme - das canvas Verzeichnis taucht dann auch auf. Also wie gesagt denke ich, dass da irgendwas uralt ist, deswegen bekommst Du da auch keinen schönen Baum hin. - Ab jetzt bin ich mit meiner Weisheit denke ich auch am Ende.

                              Ich probiere jetzt erstmal das mit nodejs zu machen. DIe MySQl DAtenbank sehe ich erstmal als nachgelagert Problem an.

                              1 Reply Last reply Reply Quote 0
                              • A
                                anno171986 @mickym last edited by

                                @mickym Es gibt noch einen node_modules Ordner in /usr/lib/.

                                pi@raspberrypi:/usr/lib/node_modules$ ls
                                n  node-gyp  npm
                                

                                Einfach mit

                                rm node_modules
                                

                                löschen?

                                1 Reply Last reply Reply Quote 0
                                • A
                                  anno171986 last edited by anno171986

                                  @mickym

                                  habe den Ordner /usr/lib/node_modules mittels

                                  sudo rm -r node_modules
                                  

                                  gelöscht.
                                  danach dann nodejs neuinstalliert, eCharts Adapter deinstalliert, das hate etwas länger gedauert und er hat dabei auch was installiert. Habe dann aus Neugier mal nach canvas gesucht:

                                  pi@raspberrypi:/opt/iobroker$ npm ls canvas
                                  iobroker.core@1.0.0 /opt/iobroker
                                  ├─┬ iobroker.iot@1.11.9
                                  │ ├── canvas@2.10.2
                                  │ └─┬ jsdom@19.0.0
                                  │   └── canvas@2.10.2 deduped
                                  └─┬ iobroker.mihome-vacuum@3.8.6
                                    └── canvas@2.10.2 deduped
                                  

                                  Und er hat es wohl installiert.
                                  Danach dann den eCharts Adapter installiert. Canvas Abfrage sieht jetzt so aus:

                                  pi@raspberrypi:/opt/iobroker$ npm ls canvas
                                  iobroker.core@1.0.0 /opt/iobroker
                                  ├─┬ iobroker.echarts@1.0.12
                                  │ ├── canvas@2.10.2
                                  │ └─┬ jsdom@19.0.0
                                  │   └── canvas@2.10.2 deduped
                                  ├─┬ iobroker.iot@1.11.9
                                  │ └── canvas@2.10.2 deduped
                                  └─┬ iobroker.mihome-vacuum@3.8.6
                                    └── canvas@2.10.2 deduped
                                  

                                  Verglichen zu meiner Ausgangssituation hat er jetzt canvas von Version 2.9.3 auf 2.10.2 geupdated.
                                  Das Skript zum erzeugen des Diagramm Bildes gestartet: Kein Fehler. Aber: Jetzt ist SQl das Problem, da keine SQL Adapter läuft ist auch kein Diagramm da. Hast du eine Idee wie ich die SQL DAtenbank wieder ans laufen bekomme?

                                  ● mariadb.service - MariaDB 10.5.15 database server
                                       Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
                                       Active: active (running) since Sun 2022-11-20 17:40:49 CET; 16h ago
                                         Docs: man:mariadbd(8)
                                               https://mariadb.com/kb/en/library/systemd/
                                      Process: 545 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
                                      Process: 555 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
                                      Process: 576 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $?>    Process: 685 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
                                      Process: 688 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
                                     Main PID: 665 (mariadbd)
                                       Status: "Taking your SQL requests now..."
                                        Tasks: 8 (limit: 4915)
                                          CPU: 17.251s
                                       CGroup: /system.slice/mariadb.service
                                               └─665 /usr/sbin/mariadbd
                                  
                                  Nov 20 17:40:49 raspberrypi systemd[1]: Started MariaDB 10.5.15 database server.
                                  Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[690]: Upgrading MySQL tables if necessary.
                                  Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
                                  Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: Looking for 'mysql' as: /usr/bin/mysql
                                  Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
                                  Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: This installation of MariaDB is already upgraded to 10.5.15-MariaDB.
                                  Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: There is no need to run mysql_upgrade again for 10.5.15-MariaDB.
                                  Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[693]: You can use --force if you still want to run mysql_upgrade
                                  Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[701]: Checking for insecure root accounts.
                                  Nov 20 17:40:49 raspberrypi /etc/mysql/debian-start[705]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tabl>~
                                  
                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @anno171986 last edited by mickym

                                    @anno171986 na erst mal Glückwunsch, das war doch das Hauptproblem. Canvas unter dem charts Adapter ist genau richtig. Der MySQL läuft ja eigentlich. Hast du schon mal versucht, die Daten aus einem MySQL Backup wieder herzustellen? (aus backitup Adapter)? Ansonsten musst mal googlen, wie man das Root Passwort des MySQL Servers zurücksetzt, da muss man ein paar Befehle auf der Kommandozeile eingeben. Meines Erachtens läuft die Datenbank ja und du hast ein Problem mit der Authentifizierung.

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      anno171986 @mickym last edited by

                                      @mickym Denke ich auch.

                                      Wenn ich mich per Konsole einlogge scheint es zu gehen:

                                      pi@raspberrypi:/opt/iobroker$ mariadb -u iobroker -p
                                      Enter password:
                                      Welcome to the MariaDB monitor.  Commands end with ; or \g.
                                      Your MariaDB connection id is 33
                                      Server version: 10.5.15-MariaDB-0+deb11u1 Raspbian 11
                                      
                                      Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
                                      
                                      Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
                                      
                                      MariaDB [(none)]>
                                      
                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @anno171986 last edited by mickym

                                        @anno171986 gib mal im Adapter nochmal das Passwort ein. Das muss gehen oder auch nochmal Port 3306 etc. du musst aber auch Mel schauen, ob du auf der Kommandozeile die iobroker Datenbank Listen kannst. Wie gesagt im backitup müsstest du doch MySQL Datenbanken gesondert gesichert haben.

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          anno171986 @mickym last edited by anno171986

                                          @mickym Geht nicht. Bin jetzt via Konsole mal in die entsprechende DB gegangen, das geht.

                                          MariaDB [(none)]> \u iobroker
                                          Reading table information for completion of table and column names
                                          You can turn off this feature to get a quicker startup with -A
                                          
                                          Database changed
                                          MariaDB [iobroker]> \s
                                          --------------
                                          mariadb  Ver 15.1 Distrib 10.5.15-MariaDB, for debian-linux-gnueabihf (armv8l) using  EditLine wrapper
                                          
                                          Connection id:          33
                                          Current database:       iobroker
                                          Current user:           iobroker@localhost
                                          SSL:                    Not in use
                                          Current pager:          stdout
                                          Using outfile:          ''
                                          Using delimiter:        ;
                                          Server:                 MariaDB
                                          Server version:         10.5.15-MariaDB-0+deb11u1 Raspbian 11
                                          Protocol version:       10
                                          Connection:             Localhost via UNIX socket
                                          Server characterset:    utf8mb4
                                          Db     characterset:    utf8
                                          Client characterset:    utf8
                                          Conn.  characterset:    utf8
                                          UNIX socket:            /run/mysqld/mysqld.sock
                                          Uptime:                 16 hours 47 min 30 sec
                                          
                                          Threads: 1  Questions: 71  Slow queries: 0  Opens: 38  Open tables: 31  Queries per second avg: 0.001
                                          

                                          kann man sich anzeigen lassen, auf welchen port die DB hört?

                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @anno171986 last edited by mickym

                                            @anno171986 normalerweise 3306. prüfe mit

                                            sudo netstat -tulpen 
                                            

                                            Ansonsten erstellst mal auf der Kommandozeile einen neuen User, der sich von überall anmelden kann und alle Rechte hat.

                                            A 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            925
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            103
                                            5884
                                            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