Erreur de mise à jour dépendances zigbee2mqtt 2.1.2

Bonjour à tous,
Je suis en Jeedom v4.4.49, php 7.4.33 et une débian 11.9
J’utilisais sans soucis jeezigbee avec Z2M en version 2.1.1
J’ai lancé ce matin une MAJ des dépendances pour passer en 2.1.2 que j’attendais avec impatience car elle supporte mon thermostat MES qui ne l’était pas jusqu’ici.

problème j’ai une erreur à la mise à jour et le log z2m_package indique :

npm install -g pnpm
changed 1 package in 865ms
1 package is looking for funding
run `npm fund` for details
+ pnpm i --frozen-lockfile
 ERROR  Failed to switch pnpm to v10.4.1. Looks like pnpm CLI is missing at "/root/.local/share/pnpm/.tools/pnpm/10.4.1/bin" or is incorrect
spawnSync /root/.local/share/pnpm/.tools/pnpm/10.4.1/bin/pnpm ENOENT
+ pnpm run build
 ERROR  Failed to switch pnpm to v10.4.1. Looks like pnpm CLI is missing at "/root/.local/share/pnpm/.tools/pnpm/10.4.1/bin" or is incorrect
spawnSync /root/.local/share/pnpm/.tools/pnpm/10.4.1/bin/pnpm ENOENT

Il y a visiblement un problème avec la version de pnpm.
J’ai vu un soucis semblable dans le post : [Plugin ZigbeeLinker] Post officiel (pour Zigbee2MQTT) [changelog] - #49 par MrGreen ou on propose de forcer la version de pnpm mais je ne sais pas faire.
j’ai désinstallé pnpm et forcer son installation en 1.4.1 en ligne de commande mais le relancement des dépendances le repasse en version 10.5.2.
qui pourrait m’aider ?
Merci d’avance.

Bonjour

Voir la floppée de message de la journée sur les soucis similaire avant de poster…

Antoine

Vous devriez regarder ce post

Merci @Bonjour pour ton aide utile.

La flopée de message de la journée, si elle concerne le même problème est visiblement sur le tag plugin-zigbeelinker que je n’ai pas consulté en effet…

Fabrice

Avec la dernière mise à jour de zigbeelinker + réinstallation des dépendances, cela passe ?

Il est sur jeezigbee.

1 « J'aime »

non, pas chez moi du moins.

Merci à ceux qui m’ont aidé. J’ai réussi en forçant la version de pnpm dans
« /var/www/html/plugins/z2m/resources/post-install.sh »

if [ -n "${wanted_z2m_version}" ] && [ $(echo $wanted_z2m_version | head -c 1) -lt 2 ] ; then
 npm ci
 npm run build
else
 npm install -g pnpm@10.4.1
 pnpm i --frozen-lockfile
 pnpm run build
fi

tout marche bien.

3 « J'aime »

Bonjour,

Des explications complémentaires ici : Problème démon jeezigbee - #25 par akenad

akenad :slight_smile:

C’est mieux de faire juste ceci dans /plugins/z2m/resources/post-install.sh

sudo npm install -g pnpm@10.4.1

ou ceci :

if [ -n "${wanted_z2m_version}" ] && [ $(echo $wanted_z2m_version | head -c 1) -lt 2 ] ; then
 npm ci
 npm run build
else
 npm install -g pnpm@10.4.1
 pnpm i --frozen-lockfile
 pnpm run build
fi

la différence c’est juste de pouvoir revenir en version 1 de zigbee2mqtt ?

Le bloc if permet en effet d’utiliser npm si la version de z2m est < 2

Du point de vue du plugin jeeZigbee, c’est emmerdant à gérer cette nouvelle dépendance de version fixe pnpm :face_with_head_bandage:

Merci pour la réponse.
Il vaut mieux faire la première que j’ai trouvé dans le lien d’Akenad ou la Seconde de modif trouvée dans ce post ?

Tout dépend de la version z2m voulue.
Il faut adapter le script post-install en fonction de la version pnpm requise par telle ou telle version de z2m…

Je viudrais pouvoir installer la 2.1.3. Je suis déjà en 2.1.1.

pnpm@9.15.4 pour zigbee2mqtt 2.1.1
pnpm@10.4.1 pour zigbee2mqtt 2.1.2 et 2.1.3

akenad :slight_smile:

1 « J'aime »

Bonjour

Je suis passé de 1.42.0 à 2.1.1 il y a une 15 de jours et je viens de vérifier la version de npmp et je suis déjà en 10.4.1
Comment est-ce possible ?
N’ayant aucune compétence Linux, je n’ai pas fait volontairement cette mise à jour.
Cela laisse-t-il entendre que le passage en 2.1.3 sera "transparent" ?
Ça devient pénible si à chaque mise à jour de Z2M on risque de tout casser.

2 « J'aime »

Bonjour
Moi aussi passé de 1.42 à 2.1.1 et je suis bien en pnpm version 10.4.1

Bonjour,
C’est bien pour ça que Jeedom vous permet de bloquer les màj dans le plugin Jeezigbee par exemple.

moi il me dit ceci :
il faut bien faire ceci pour avoir la version de pnpm

npx pnpm --version

Bonjour
Suis passé il y a environ 2 semaines a zigbee2mqtt 2.1.1
Apres vérification aujourd’hui via « npx pnpm --version » je suis en version 10.4.1 et tout fonctionne parfaitement
De plus je n ai du jamais rien modifié dans aucun fichier yaml
Pour le moment je ne passerai pas en version supérieure de zigbee2mqtt car les correctif ne m’intéresse pas
J attendrai une version majeur
Par contre quand je regarde les postes sur les divers problème jeezigbee je remarque que beaucoup son sur des box jeedom
Il faudrait qu’il ouvre des tickets sur le support jeedom pour avoir plus d’informations au niveau des problème récurrents
Moi de mon côté je ne peut pas car
Premièrement je suis sur du diy
Et deuxièmement ca fonctionne