NPM Version zu alt / Valetudo Staubsauger Software

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

Antworten
dergroddi
Beiträge: 18
Registriert: 18. Sep 2017 21:14
Answers: 1

NPM Version zu alt / Valetudo Staubsauger Software

Beitrag von dergroddi »

Hallo zusammen,

mein openHAB 3 läuft auf einem Raspi 4 unter Raspbian 10 Buster. Dort ist "node.js" in Version 14 (LTS) sowie "npm" in Version 6 installiert.

Nun möchte ich meinen Roborock Staubsauger einbinden und vor allem die Karte auf dem Raspi generieren lassen (der Staubsauger schickt diese Daten bereits per MQTT korrekt an mein openHAB, auf dem Staubsauger läuft die aktuellste Valetudo Version).

Jetzt kommt mein Problem: Zum generieren der Karte ist das Tool I Cant Believe Its Not Valetudo erforderlich. Dieses muss per "npm install" auf dem Raspi installiert werden.

Dummerweise wurde dieses Projekt mit NPM Version 7 erstellt, auf dem aktuellen Raspi 10 Buster gibts aber nur NPM Version 6 und somit erhalte ich beim kompilieren den Fehler, dass meine NPM Version zu niedrig ist.

Hat da jemand einen Vorschlag zur Lösung? Eine neuere Version von Node.js (inkl. NPM) gibts in den Repo's nicht.

Danke für Hinweise.
von Don Stefano » 21. Okt 2021 15:24
Du musst nodesource zu deinen Paketquellen hinzufügen, dann kannst du jede Version installieren.

Gesendet von meinem SM-G781B mit Tapatalk

Gehe zur vollständigen Antwort

Don Stefano
Beiträge: 83
Registriert: 24. Mär 2018 23:02
Answers: 1

Re: NPM Version zu alt / Valetudo Staubsauger Software

Beitrag von Don Stefano »

Hast du schon im Node.js reports geschaut? Für Debian Buster gibt es da schon Version 12 LTS.

Gesendet von meinem SM-G781B mit Tapatalk


dergroddi
Beiträge: 18
Registriert: 18. Sep 2017 21:14
Answers: 1

Re: NPM Version zu alt / Valetudo Staubsauger Software

Beitrag von dergroddi »

Bitte nicht die node.js Versionsnummer mit der von NPM verwechseln ;)

Für node.js gibt es aktuell sogar Version 17, diese beinhaltet NPM Version 8

Bei mir installiert ist node.js Version 14 (das ist aktuell LTS), diese beinhaltet jedoch lediglich NPM Version 6 (welche zu gering ist)

Don Stefano
Beiträge: 83
Registriert: 24. Mär 2018 23:02
Answers: 1

Re: NPM Version zu alt / Valetudo Staubsauger Software

Beitrag von Don Stefano »

Du musst nodesource zu deinen Paketquellen hinzufügen, dann kannst du jede Version installieren.

Gesendet von meinem SM-G781B mit Tapatalk


Don Stefano
Beiträge: 83
Registriert: 24. Mär 2018 23:02
Answers: 1

Re: NPM Version zu alt / Valetudo Staubsauger Software

Beitrag von Don Stefano »

Hier ist die Installation für Node 10 beschrieben, im ersten Befehl können auch andere Versionen angegeben werden. https://linuxize.com/post/how-to-instal ... pberry-pi/
Falls du es manuell durchführen willst, kannst du auch die Anleitung benutzen: https://www.makersupplies.sg/blogs/tuto ... spberry-pi

Gesendet von meinem SM-G781B mit Tapatalk


dergroddi
Beiträge: 18
Registriert: 18. Sep 2017 21:14
Answers: 1

Re: NPM Version zu alt / Valetudo Staubsauger Software

Beitrag von dergroddi »

Ok, das war der richtige Vorschlag. Und um vielleicht jemand anderem meine Fehlersuche zu ersparen, hier sind die Schritte, die ich durchgeführt habe:

Ausgangslage: Raspbian 10 Buster mit Node-JS 14.x und NPM 6.x

Ziel: mind. Node-JS 16.x mit NPM 7.x und per "npm install" eingerichtetem ICantBelieveItsNotValetudo

1. aktuellen Node-Source zufügen für Raspbian 10 Buster

Code: Alles auswählen

curl -sSL https://deb.nodesource.com/setup_16.x | sudo bash -
2. Update nicht vergessen

Code: Alles auswählen

sudo apt-get update
3. Node JS (mit NPM) in der neuesten Version installieren (Stand heute Node-JS 17.x und NPM 8.x)

Code: Alles auswählen

sudo apt-get install -y nodejs gcc g++ make
node -v
npm -v
4. Auf Grund von Problemen mit dem Modul "Canvas" mussten noch ein paar zusätzliche Pakete installiert werden

Code: Alles auswählen

sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
5. Canvas installieren per NPM, ggf. noch fixen was angemeckert wird

Code: Alles auswählen

npm install canvas
npm audit fix
6. Das gewünschte GIT von ICantBelieveItsNotValetudo per git clone holen und installieren

Code: Alles auswählen

git clone https://github.com/Hypfer/ICantBelieveItsNotValetudo.git
npm install

CGR
Beiträge: 1
Registriert: 17. Jul 2023 13:45

Re: NPM Version zu alt / Valetudo Staubsauger Software

Beitrag von CGR »

Hallo,

danke für die einzelnen Schritte. Ich habe sie nachvollzogen wie beschrieben, und habe nun folgende Versionen:

Raspian 10 (buster)
node 16.15.1
npm 8.11.0

Nach dem Holen von ICantBelieveItsNotValetudo erhalte ich nach „npm Install“ bei „npm start“ allerdings die folgende Fehlermeldung:

Code: Alles auswählen

pi@raspberrypi:~/ICBINV/ICantBelieveItsNotValetudo $ npm start

> i-cant-believe-its-not-valetudo@2022.05.0 start
> node app.js

/home/pi/ICBINV/ICantBelieveItsNotValetudo/node_modules/@napi-rs/canvas/js-binding.js:193
    throw loadError
    ^

Error: /home/pi/ICBINV/ICantBelieveItsNotValetudo/node_modules/@napi-rs/canvas-linux-arm-gnueabihf/skia.linux-arm-gnueabihf.node: undefined symbol: _ZNSt19_Sp_make_shared_tag5_S_eqERKSt9type_info
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1189:18)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/home/pi/ICBINV/ICantBelieveItsNotValetudo/node_modules/@napi-rs/canvas/js-binding.js:177:29)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12) {
  code: 'ERR_DLOPEN_FAILED'
}
Hat jemand eine Idee, woran das liegen kann?

Vielen Dank und viele Grüße
CGR

Antworten