Problème installation des dépendances plugin elmtouch

Bonjour à tous et bon premier mai.

Comme la journée est calme j’ai décidé de faire ce que je repousse depuis un bon moment : migrer ma jeedom de production sur mon nouveau NUC.
Les 2 sont en 4.4.5 et bien à jour allez hop !
Globalement les choses se sont bien passées à une exception, j’ai 1 plugin NOK sur le jeedom migré : elmtouch (çà c’est ballot c’est un de mes plugins !)
Le problème c’est l’installation des dépendances. Il y a déjà quelques temps j’ai changé pour le nouveau système d’installation des dépendances par packages.json, mais
je pense ne jamais l’avoir testé sur une machine « vierge » (oui je sais c’est pas bien).
L’installation se passe mal et je ne comprends pas pourquoi.
Le plugin nécessite nodejs et aussi la librairie nefit-easy-http-server de Robert Kelp

Mon fichier plugins/elmtouch/plugin_info/packages.json

{
    "apt" : {
    "nodejs" : {}
  },
  "npm" : {
      "plugins/elmtouch/resources"  : {}
  }
}

Mon fichier plugins/elmtouch/resources/package.json (c’est bien sans s cette fois ?)

{
   "name": "jeedom_elmtouch",
   "version": "1.0.1",
   "description": "Node to connect Nefit Easy Http Server to Jeedom",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },
   "license": "GPL-3.0",
   "dependencies": {
      "nefit-easy-http-server": "latest"
   }
}

Le log d’installation des dépendances

+ echo '*******************Begin of package installation******************'
*******************Begin of package installation******************
+ touch /tmp/jeedom_install_in_progress_elmtouch
+ echo 1
+ echo 2
+ sudo killall apt apt-get unattended-upgr
apt: no process found
apt-get: no process found
unattended-upgr: no process found
+ sudo rm /var/lib/apt/lists/lock
+ sudo rm /var/cache/apt/archives/lock
+ sudo rm /var/lib/dpkg/lock /var/lib/dpkg/lock-frontend
+ sudo sudo dpkg --configure -a --force-confdef
+ sudo apt update

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Get:1 http://security.debian.org/debian-security bullseye-security InRelease [48.4 kB]
Hit:2 http://deb.debian.org/debian bullseye InRelease
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [44.1 kB]
Hit:4 https://deb.nodesource.com/node_18.x nodistro InRelease
Fetched 92.4 kB in 0s (455 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
All packages are up to date.
+ echo 3
+ sudo chmod +x /var/www/html/core/class/../../resources/install_nodejs.sh
+ sudo /var/www/html/core/class/../../resources/install_nodejs.sh
Hit:1 http://security.debian.org/debian-security bullseye-security InRelease
Hit:2 http://deb.debian.org/debian bullseye InRelease
Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
Hit:4 https://deb.nodesource.com/node_18.x nodistro InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
apt-utils is already the newest version (2.2.4).
build-essential is already the newest version (12.9).
git is already the newest version (1:2.30.2-1+deb11u2).
lsb-release is already the newest version (11.1.0).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[Check Version NodeJS actuelle : v18.20.2 : [  OK  ]
[Check Prefix : /usr and sudo prefix : /usr and www-data prefix : /usr : [  OK  ]
+ echo 4
+ sudo chmod +x /var/www/html/core/class/../../resources/install_nodejs.sh
+ sudo /var/www/html/core/class/../../resources/install_nodejs.sh
Hit:1 http://security.debian.org/debian-security bullseye-security InRelease
Hit:2 http://deb.debian.org/debian bullseye InRelease
Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
Hit:4 https://deb.nodesource.com/node_18.x nodistro InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
apt-utils is already the newest version (2.2.4).
build-essential is already the newest version (12.9).
git is already the newest version (1:2.30.2-1+deb11u2).
lsb-release is already the newest version (11.1.0).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[Check Version NodeJS actuelle : v18.20.2 : [  OK  ]
[Check Prefix : /usr and sudo prefix : /usr and www-data prefix : /usr : [  OK  ]
+ echo 5
+ sudo chmod +x /var/www/html/core/class/../../resources/install_nodejs.sh
+ sudo /var/www/html/core/class/../../resources/install_nodejs.sh
Hit:1 http://security.debian.org/debian-security bullseye-security InRelease
Hit:2 http://deb.debian.org/debian bullseye InRelease
Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
Hit:4 https://deb.nodesource.com/node_18.x nodistro InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
apt-utils is already the newest version (2.2.4).
build-essential is already the newest version (12.9).
git is already the newest version (1:2.30.2-1+deb11u2).
lsb-release is already the newest version (11.1.0).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[Check Version NodeJS actuelle : v18.20.2 : [  OK  ]
[Check Prefix : /usr and sudo prefix : /usr and www-data prefix : /usr : [  OK  ]
+ echo 6
+ sudo chmod +x /var/www/html/core/class/../../resources/install_composer.sh
+ sudo /var/www/html/core/class/../../resources/install_composer.sh
Begin installation of composer
--2024-04-30 23:10:40--  https://getcomposer.org/installer
Resolving getcomposer.org (getcomposer.org)... 54.36.53.46, 2001:41d0:302:1100::8:104f
Connecting to getcomposer.org (getcomposer.org)|54.36.53.46|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 58444 (57K) [application/octet-stream]
Saving to: 'composer-setup.php'

     0K .......... .......... .......... .......... .......... 87% 2.66M 0s
    50K .......                                               100% 98.7M=0.02s

2024-04-30 23:10:41 (3.02 MB/s) - 'composer-setup.php' saved [58444/58444]

All settings correct for using Composer
Downloading...

Composer (version 2.7.4) successfully installed to: /var/www/html/core/ajax/composer.phar
Use it: php composer.phar

End installation of composer
+ echo 7
+ cd /var/www/html/core/class/../../plugins/elmtouch/resources
+ rm -rf node_modules
+ sudo npm install
npm warn deprecated node-xmpp-tls-connect@1.0.1: this package is deprecated please use https://github.com/xmppjs/xmpp.js
npm warn deprecated har-validator@5.1.5: this library is no longer supported
npm warn deprecated node-xmpp-core@5.0.9: this package is deprecated please use https://github.com/xmppjs/xmpp.js
npm warn deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm warn deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm warn deprecated node-xmpp-client@3.2.0: this package is deprecated please use https://www.npmjs.com/package/@xmpp/client

added 153 packages, and audited 154 packages in 3s

14 packages are looking for funding
  run `npm fund` for details

6 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
+ sudo chown -R www-data:www-data node_modules package-lock.json package.json
+ echo 8
+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end elmtouch
+ echo 9
+ rm /tmp/jeedom_install_in_progress_elmtouch
+ echo '*******************End of package installation******************'
*******************End of package installation******************

La page santé

D’après la vérification des packages il voit bien mon fichier dans resources

Mais le démon ne veut pas démarrer.

[2024-05-01 09:59:01][ERROR] : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
[2024-05-01 09:59:01][DEBUG] : if [ $(ps -ef | grep -v grep | grep "easy-server" | wc -l) -eq 0 ]; then sudo  easy-server --serial=***** --access-key=***** --password="****";echo "Démarrage easy-server";sleep 1; fi
sudo: easy-server: command not found
Démarrage easy-server
[2024-05-01 09:59:31][ERROR] : Impossible de lancer le démon Elm Touch, relancez le démon en debug et vérifiez la log

Visiblement easy-server ne s’est pas installé d’ailleurs on peut facilement corriger le problème en l’installant en ligne de commande. Mais qu’est ce qui cloche dans mes fichiers ?
Bien sûr je pourrai revenir à l’ancien système d’installation des dépendances que je maitrise mieux plutôt que celui-ci ou je n’ai fait que recopier ce que j’ai vu dans d’autres plugins en l’adaptant (sans doute mal) mais ce n’est pas un bon choix et puis j’ai arrété le chauffage depuis déjà plusieurs semaines donc j’ai plusieurs mois pour résoudre le problème :smiley:
Merci de votre aide.


Informations Jeedom

Core : 4.4.5 (V4-stable)
DNS Jeedom : oui

Plugin : ELM Touch
Version : 2024-04-30 23:09:39 (beta)
Statut Démon : Stoppé - (2024-05-01 10:00:01)

Informations complémentaires
== Jeedom 4.4.5 sur Debian GNU/Linux 11 (bullseye)/amd64/x86_64/64bits aka ‹ diy › avec nodeJS v18.20.2 et jsonrpc:enable et elmtouch (beta) 2024-04-30 23:09:39 (avant:beta/2024-04-16 17:36:19)

Bon j’ai résolu mon problème, en fait ce n’était pas du tout un problème d’installation des dépendances, si j’étais allé voir le répertoire plugins/elmtouch/resources/node_modules j’aurai bien vu que tout s’était installé correctement et surtout j’aurai vu que le path que je donnais dans ma classe pour lancer le démon avait une erreur ! Comme quoi quand on cherche la cause d’un problème si on ne regarde pas au bon endroit, on ne trouve pas :crazy_face:

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