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 ».
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)
/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
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é
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.
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éé.
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…