Mauvaise version nodejs installation serialport

Bonjour,
Lors du démarrage du demon j’ai ceci qui indique que le module seriaport a besoin de 1.16.xx (93) de nodejs au lieu de 1.18.x (108)
Ceci est dû àla dernière version de zwavejs qui installe nodejs en 1.18 lors de la MAJ des dépendances.

Je ne parviens pas à installer cette version.
Merci pour votre aide.

Wed Oct 11 2023 00:23:37 GMT+0200 (Central European Summer Time) - Jeedom url : http://127.0.0.1:80/plugins/mySensors/core/api/jeeSensors.php?apikey=AbghgfQqQESQJHYD6JySQfxI2mAXWfN67nc453cQ6dc2CMBN&gateway=master, gwAddress : /dev/ttyUSB22
Connection type serial
/var/www/html/plugins/mySensors/resources/node_modules/bindings/bindings.js:121
        throw e;
        ^

Error: The module '/var/www/html/plugins/mySensors/resources/node_modules/@serialport/bindings/build/Release/bindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 93. This version of Node.js requires
NODE_MODULE_VERSION 108. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at Module._extensions..node (node:internal/modules/cjs/loader:1340:18)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:121:18)
    at bindings (/var/www/html/plugins/mySensors/resources/node_modules/bindings/bindings.js:112:48)
    at Object.<anonymous> (/var/www/html/plugins/mySensors/resources/node_modules/@serialport/bindings/lib/linux.js:2:36)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32) {
  code: 'ERR_DLOPEN_FAILED'
}

Node.js v18.17.1

solution en ssh :

cd /var/www/html/plugins/mySensors/resources/node_modules
sudo npm install  serialport

As-tu tu fait une mise à jour du core récemment ?

Antoine

MAJ plugin et certainement le core avec.
Le souci est que mysensors n’est plus maintenu et l’installation ne fonctionne pas bien avec des soucis lors de l’installation des dépendances
Dans le script d’installation des dépendances et en particulier du module serialport de nodejs, l’install se fait dans mysensors/nodes et en fait je le fais à la main dans mysensors/ressources/node_modules
J’ai supprimé le module dans mysensors/nides et le plugin est OK donc ça va bien chercher et c’est normal dans mysensors/ressources/node_modules

Mais le début du souci est la MAJ de nodejs en version 18.X.X car le serialport de l’install mysensor nécessitait 16.x.x

Hello,

Normalement une relance des dépendances recompile le code pour la nouvelle version de Nodejs trouvée, de mémoire j’avais discuté avec le dev qui m’avait dit qu’il installait la 16 mais acceptait 16+ et donc en retirant son dossier node_modules (et unpire) ses dépendances s’installeront et régleront le soucis.

Ca n’a pas fonctionné. J’ai dû installer les dépendances à la main. Je vais refaire un test quand j’aurais le temps, trop de choses à régler avec la MAJ de zwaveJS qui fait planter le demon quand on met à jour les dépendances de zwaveJS

Mes plugins utilisant Nodejs le font correctement sinon comme l’indique @blablatus . À la limite :

  • installez temporairement mon plugin gratuit atvRemote
  • dans la config du plugin faites « réparer NodeJS »
  • relancez les dépendances de zwavejs
  • supprimez mon plugin (sans en avoir installé les dépendances !!!).
1 « J'aime »

Bonjour,

Cette manip. a fonctionnée pour moi.
Merci.

Elle a fonctionné pour moi aussi mais par contre j’ai d’abord du retirer la , (virgule) à la fin de la ligne …resources": {}, dans le fichier /MySensors/plugin_info/package.json
Autrement l’installation des dépendances ne se lancaient pas!!
Quel bazaaaar :frowning:

normalement j’ai fait un PR sur github et la correction a été prise en compte pour la virgule manquante.
Mais ce n’est pas arrivé sur Jeedom

1 « J'aime »

Lunarok a fait la MAJ, normalement c’est corrigé. Merci à lui.

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.