NodeJS or not?

Bonjour,

J’ai un petit soucis avec easyesp le demon ne démarre pas.
En règle générale j’applique ce pack de correctif :

Verifier nodejs : nodejs -v

installation nodejs si besoin : sudo apt install nodejs

Installation npm :
cd /var/www/html/plugins/espeasy/resources/
apt install npm

Verification des liens symbolique
ls /usr/bin/node*

réponse :
/usr/bin/node
/usr/bin/nodejs

Création Lien symbolique si absent : sudo ln -s /usr/bin/node /usr/bin/nodejs

Jusque là ça faisait mon bonheur mais là … non ;o)

Ma version de node JS v14.20.1
J’ai voulu faire une install de npm et j’ai ceci en retour :

Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l’impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n’ont pas encore
été créés ou ne sont pas sortis d’Incoming.
L’information suivante devrait vous aider à résoudre la situation :

Les paquets suivants contiennent des dépendances non satisfaites :
npm : Dépend: nodejs (>= 6.11~)
Dépend: node-abbrev (>= 1.1.1~) mais ne sera pas installé
Dépend: node-ansi-regex (>= 3.0~) mais ne sera pas installé
Dépend: node-ansistyles (>= 0.1.3~) mais ne sera pas installé
Dépend: node-aproba (>= 1.2~) mais ne sera pas installé
Dépend: node-archy (>= 1.0~) mais ne sera pas installé
Dépend: node-cacache (>= 10.0.4~) mais ne sera pas installé
Dépend: node-bluebird (>= 3.5.1~) mais ne sera pas installé
Dépend: node-call-limit (>= 1.1~) mais ne sera pas installé
Dépend: node-chownr (>= 1.0.1~) mais ne sera pas installé
Dépend: node-config-chain (>= 1.1.11~) mais ne sera pas installé
Dépend: node-detect-indent (>= 5.0~) mais ne sera pas installé
Dépend: node-detect-newline (>= 2.1~) mais ne sera pas installé
Dépend: node-editor (>= 1.0~) mais ne sera pas installé
Dépend: node-fs-vacuum (>= 1.2.10~) mais ne sera pas installé

E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l’état ».

En repo j’ai ceci : Atteint :2 Index of /node_14.x/ buster InRelease

J’ai un pi4 sous buster.

J’aurai tendance à enlever le repo et faire sudo apt install nodejs

Merci de votre retour.

Bonne journée

J’ai trouvé les repo là :
/etc/apt/sources.list.d/nodesource.list

Pour ls /usr/bin/node* le retour est :
/usr/bin/node /usr/bin/nodejs

J’ai l’impression qu’il ne voit pas nodejs.

1 « J'aime »

Hello, alors la version de nodejs choisie par les développeurs est la version 16 ! Tout autre version risque de poser problème !

Le lien symbolique nodejs n’existe plus, il faut donc que le dev adapte son plugin. Mais ma foi si le plugin n’est pas supporté c’est pas très grave, tu peux le faire.

Si tu veux réparer correctement nodejs je te conseille d’installer temporairement le plugin gratuit alexaapi, dans la configuration du plugin tu as un bouton pour réparer nodejs (le supprimer proprement en fait) et puis tu lances les dépendances de alexaapi et tu auras une install en nodejs 16 toute propre. (Tu peux supprimer le plugin apres)

whaou un grand merci pour ta réponse.

1 « J'aime »

Alors je suis bien en 16 mais quand je lance le demon d’espeasy j’ai ca en log :

node:internal/modules/cjs/loader:988
throw err;
^
Error: Cannot find module ‹ request ›
Require stack:

  • /var/www/html/plugins/espeasy/resources/espeasy.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15)
    at Function.Module._load (node:internal/modules/cjs/loader:833:27)
    at Module.require (node:internal/modules/cjs/loader:1057:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object. (/var/www/html/plugins/espeasy/resources/espeasy.js:3:15)
    at Module._compile (node:internal/modules/cjs/loader:1155:14)
    at Object.Module._extensions…js (node:internal/modules/cjs/loader:1209:10)
    at Module.load (node:internal/modules/cjs/loader:1033:32)
    at Function.Module._load (node:internal/modules/cjs/loader:868:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
    code: ‹ MODULE_NOT_FOUND ›,
    requireStack: [ ‹ /var/www/html/plugins/espeasy/resources/espeasy.js › ]
    }

J’ai vérifié le chemin /var/www/html/plugins/espeasy/resources/
j’ai bien espeasy.js

Là je sèche ;o(

Je me suis demandé si npm pouvait s’installer et j’ai la même réponse :

Les paquets suivants contiennent des dépendances non satisfaites :
npm : Dépend: nodejs (>= 6.11~)
Dépend: node-abbrev (>= 1.1.1~) mais ne sera pas installé
Dépend: node-ansi-regex (>= 3.0~) mais ne sera pas installé
Dépend: node-ansistyles (>= 0.1.3~) mais ne sera pas installé

Snif mes beaux modules home made HS.

1 « J'aime »

Relance les dépendances de ce plugin

Mais non… arrêtez de faire des choses à la main…

1 « J'aime »

J’ai bien pensé à ça mais non pas mieux.
En tout cas merci.

Sans les logs des dépendances je peux pas vous dire plus

Ils sont ou ?

2 « J'aime »

dans espeasy_dep j’ai rien c’est vide

Ben comme tous les logs :slight_smile: dans la config du plugin ou dans le menu log de jeedom…

Bizarre, car impossible du point de vue du plugin… donc vous avez sans doute un problème sur votre système, le plus simple est une installation fraîche et restaurez votre dernière sauvegarde.

donc rien dans espeasy_dep j’ai que ça dans espeasy_node

0079|Error: Cannot find module ‹ request ›
0080|Require stack:
0081|- /var/www/html/plugins/espeasy/resources/espeasy.js
0082|at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15)
0083|at Function.Module._load (node:internal/modules/cjs/loader:833:27)
0084|at Module.require (node:internal/modules/cjs/loader:1057:19)
0085|at require (node:internal/modules/cjs/helpers:103:18)
0086|at Object. (/var/www/html/plugins/espeasy/resources/espeasy.js:3:15)
0087|at Module._compile (node:internal/modules/cjs/loader:1155:14)
0088|at Object.Module._extensions…js (node:internal/modules/cjs/loader:1209:10)
0089|at Module.load (node:internal/modules/cjs/loader:1033:32)
0090|at Function.Module._load (node:internal/modules/cjs/loader:868:12)
0091|at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
0092|code: ‹ MODULE_NOT_FOUND ›,
0093|requireStack: [ ‹ /var/www/html/plugins/espeasy/resources/espeasy.js › ]
0094|}

J’ai oublié de préciser je suis en 4.3.5

Dans ce cas ça ne change rien, c’est votre système qui a un problème.

Bonjour,

Un détail qui a son importance: si le plugin utilise le nouveau système de dépendances alors le fichier se terminera pas package mais si le core considère que tout est déjà installé alors aucun fichier de log ne sera créé.

1 « J'aime »

heu … traduction pour le commun des mortels ? ;o)
merci mips

J’ai fait une install d’une Atlas chez un pote hier, il migrait depuis un Pi 3 en 4.3.5 et on a eu pleins de problèmes avec nodejs aussi après la restauration de sa sauvegarde.

Au final on a basculé ses 4 esp en 15 mins sur jMQTT (vu qu’il l’utilisait déjà) et supprimé le plugin espeasy…

My 2 cents,
Bad

1 « J'aime »