Erreur lors de l'installation des dépendances (switch pnpm to v9.15.4)

Bonjour,

J’ai l’erreur suivante lorsque je lance les dépendances :


##### Install/Update Zigbee2mqtt
 ERROR  Failed to switch pnpm to v9.15.4. Looks like pnpm CLI is missing at "/root/.local/share/pnpm/.tools/pnpm/9.15.4/bin" or is incorrect
spawnSync /root/.local/share/pnpm/.tools/pnpm/9.15.4/bin/pnpm ENOENT
 ERROR  Failed to switch pnpm to v9.15.4. Looks like pnpm CLI is missing at "/root/.local/share/pnpm/.tools/pnpm/9.15.4/bin" or is incorrect
spawnSync /root/.local/share/pnpm/.tools/pnpm/9.15.4/bin/pnpm ENOENT

Voyez-vous une solution ?

Merci.

Ludis

Jeedom : Version : 4.4.19

Zigbee : 2025-01-14 11:50:23

Version Zigbee2MQTT installée : 2.1.1 (votre version de Zigbee2MQTT est à jour)
Version PHP installée : 7.4.33

Log dépendance :

#######################################################
#    INSTALL : Zigbee2mqtt                            #
#######################################################
#######################################################
##### apt-get update in progress
Atteint :1 http://security.debian.org/debian-security bullseye-security InRelease
Atteint :2 http://deb.debian.org/debian bullseye InRelease
Atteint :3 http://deb.debian.org/debian bullseye-updates InRelease
Atteint :4 https://deb.nodesource.com/node_20.x nodistro InRelease
Lecture des listes de paquets…
#######################################################
##### Install or update Git
Lecture des listes de paquets…
Construction de l'arbre des dépendances…
Lecture des informations d'état…
g++ est déjà la version la plus récente (4:10.2.1-1).
gcc est déjà la version la plus récente (4:10.2.1-1).
make est déjà la version la plus récente (4.3-4.1).
git est déjà la version la plus récente (1:2.30.2-1+deb11u4).
Le paquet suivant a été installé automatiquement et n'est plus nécessaire :
linux-image-5.10.0-19-amd64
Veuillez utiliser « sudo apt autoremove » pour le supprimer.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
#######################################################
##### Install or update NodeJs
NodeJs 20 already installed : Nothing to do !
changed 1 package in 1s
1 package is looking for funding
run `npm fund` for details
#######################################################
#    INSTALLING : Mosquitto for Php                   #
#######################################################
Mosquitto for Php is already installed, nothing to do
##### Z2M BRANCH version to install : master
#######################################################
##### Install Socat
Socat is already installed, nothing to do
#######################################################
##### Install yaml php and restart apache
Yaml is already installed, nothing to do
#######################################################
#####    Stopping Zigbee2mqtt deamon                  #
## Supprime l'installation dans /opt/zigbee2mqtt
#######################################################
##### Complete installation : Download Zigbee2mqtt git
Clonage dans '/opt/zigbee2mqtt'...
#######################################################
##### Install/Update Zigbee2mqtt
 ERROR  Failed to switch pnpm to v9.15.4. Looks like pnpm CLI is missing at "/root/.local/share/pnpm/.tools/pnpm/9.15.4/bin" or is incorrect
spawnSync /root/.local/share/pnpm/.tools/pnpm/9.15.4/bin/pnpm ENOENT
 ERROR  Failed to switch pnpm to v9.15.4. Looks like pnpm CLI is missing at "/root/.local/share/pnpm/.tools/pnpm/9.15.4/bin" or is incorrect
spawnSync /root/.local/share/pnpm/.tools/pnpm/9.15.4/bin/pnpm ENOENT
#######################################################
##### Configure deamon and start it
#######################################################
#                         END                         #
#######################################################

Salut

Étonnant comme erreur. Page santé jeedom, svp.

Antoine

Bonjour,

J’ai essayer de passer en 1.42.0 : les dép. s’installent, mais le plugin redémarre sans arrêt …
idem version 2.1.0, dépendances s’installe, mais le plugin ne démarre pas…
Version 2.1.1 : dépendances KO

Merci.

Ludis

Le problème pourrait provenir d’un souci avec pnpm mais je ne maitrise pas ce point.

Comme diy, je ferais une mise à jour de votre système :

sudo apt update && sudo apt upgrade -y

Voir de pnpm:

pnpm self-update

Probablement avec un sudo devant.

Antoine

Fait et :

:~# pnpm self-update
Nothing to stop. No server is running for the store at /root/.local/share/pnpm/store/v10
The currently active pnpm v10.5.1 is already "latest" and doesn't need an update

Ludis

Ok, on va attendre mrgreen alors.
Un utilisateur jeezigbee a une erreur du même type.

Essaie :

pnpm add -g pnpm@9.15.4
npm install -g pnpm@9.15.4

Bonjour,

Voici le résultat (exécuté en SSH) :

root@xxxxxxxxxx:~# pnpm add -g pnpm@9.15.4
 ERR_PNPM_NO_GLOBAL_BIN_DIR  Unable to find the global bin directory

Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.


root@xxxxxxxxxx:~# npm install -g pnpm@9.15.4

changed 1 package in 1s

1 package is looking for funding
  run `npm fund` for details
root@xxxxxxxxxxx:~#

Ludis

Bonjour,

Cela semble être du au fait que depuis zigbee2mqtt 2.1.1
une ligne

"packageManager": "pnpm@9.15.4",

a été ajoutée dans le package.json

extrait du début de zigbee2mqtt/package.json at 2.1.1 · Koenkk/zigbee2mqtt · GitHub :

{
    "name": "zigbee2mqtt",
    "version": "2.1.1",
    "description": "Zigbee to MQTT bridge using Zigbee-herdsman",
    "main": "index.js",
    "packageManager": "pnpm@9.15.4",
    "repository": {
        "type": "git",
        "url": "git+https://github.com/Koenkk/zigbee2mqtt.git"
    },

Temporairement, je tenterai :
dans
réglages > Système > Editeur de fichiers
modifier dans /plugins/zigbee2mqtt/resources/install_nodejs.sh
la ligne
sudo npm install -g pnpm
par
sudo npm install -g pnpm@9.15.4
puis relancer l’installation des dépendances.

EDIT 02/03/2025 :

extrait du début de zigbee2mqtt/package.json at 2.1.2 · Koenkk/zigbee2mqtt · GitHub :

{
    "name": "zigbee2mqtt",
    "version": "2.1.2",
    "description": "Zigbee to MQTT bridge using Zigbee-herdsman",
    "main": "index.js",
    "packageManager": "pnpm@10.4.1",
    "repository": {
        "type": "git",
        "url": "git+https://github.com/Koenkk/zigbee2mqtt.git"
    },

Du coup à partir de Zigbee2mqtt 2.1.2 je tenterai temporairement :
dans
réglages > Système > Editeur de fichiers
modifier dans /plugins/zigbee2mqtt/resources/install_nodejs.sh
la ligne en
sudo npm install -g pnpm
par
sudo npm install -g pnpm@10.4.1
puis relancer l’installation des dépendances.

autre solution : repasser en zigbee2mqtt 2.1.0

EDIT 03/03/2025 : la proposition de modification temporaire n’est plus applicable car le dev de zigbeelinker à modifié /plugins/zigbee2mqtt/resources/install_nodejs.sh pour automatiser l’installation de pnpm à la version indiquée par le paramètre packageManager dans /opt/zigbee2mqtt/package.json

akenad :slight_smile:

il te propose de lancer pnpm setup
Essayes pour voir le résultat, puis relance les deux lignes stp

Les 2 lignes de commande sont bien passée, …mais toujours même message d’erreur lors de l’installation des dep., même après reboot.

Ludis

Merci du retour,

Après modification du fichier, les dépendances s’installe bien.

Done in 1.8s
> zigbee2mqtt@2.1.1 build /opt/zigbee2mqtt
> tsc && node index.js writehash
#######################################################
##### Configure deamon and start it
#######################################################
#                         END                         #
#######################################

par contre, le démon ne tient pas, il redémarre sans cesse…

Ludis

ok donc maintenant, dans la configuration du plugins, cliques en bas dans expert, sur redémarrer zigbee2mqtt en mode debug, et en haut tu auras un nouveau log …_debug
postes le ici stp

Je viens de mettre une mise à jour du plugin pour cette erreur.
Tu peux l’installer, cliquer sur « réparer zigbee2mqtt » et lancer les dépendances à la limite pour voir si cela corrige ton installation.

Bonjour,

Plugin mis à jour, les dépendances s’installent, mais le deamon ne démarre pas/s’arrete.

Je passe en mode debug, et je poste les log dans le précédent message…

Merci.

Ludis

EDIT :

Plugin mis à jour, les dépendances ne s’installent pas.

(1er post : j’avais laissé « sudo npm install -g pnpm@9.15.4 » dans /plugins/zigbee2mqtt/resources/install_nodejs.sh lors d’essai… )

##### Install/Update Zigbee2mqtt
 ERROR  Failed to switch pnpm to v9.15.4. Looks like pnpm CLI is missing at "/root/.local/share/pnpm/.tools/pnpm/9.15.4/bin" or is incorrect
spawnSync /root/.local/share/pnpm/.tools/pnpm/9.15.4/bin/pnpm ENOENT
 ERROR  Failed to switch pnpm to v9.15.4. Looks like pnpm CLI is missing at "/root/.local/share/pnpm/.tools/pnpm/9.15.4/bin" or is incorrect
spawnSync /root/.local/share/pnpm/.tools/pnpm/9.15.4/bin/pnpm ENOENT
#######################################################
##### Configure deamon and start it
#######################################################
#                         END                         #
#######################################################

Voici les logs debug :

> zigbee2mqtt@2.1.1 start /opt/zigbee2mqtt
> node index.js
Starting Zigbee2MQTT without watchdog.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
READ THIS CAREFULLY
Refusing to start because configuration is not valid, found the following errors:
- device_options must be object
If you don't know how to solve this, read https://www.zigbee2mqtt.io/guide/configuration
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 ELIFECYCLE  Command failed with exit code 1.

Ludis

Résumé :

Plugin Version 2025-02-28 09:47:38

en 2.1.1 : les dep. ne s’installent pas :

Voir log. dep. dans le message précédent.

En 2.1.0 :
les dep. sont ok :

#######################################################
#    INSTALL : Zigbee2mqtt                            #
#######################################################
#######################################################
##### apt-get update in progress
Hit:1 http://deb.debian.org/debian bullseye InRelease
Hit:2 http://security.debian.org/debian-security bullseye-security InRelease
Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
Hit:4 https://deb.nodesource.com/node_20.x nodistro InRelease
Reading package lists...
#######################################################
##### Install or update Git
Reading package lists...
Building dependency tree...
Reading state information...
g++ is already the newest version (4:10.2.1-1).
gcc is already the newest version (4:10.2.1-1).
make is already the newest version (4.3-4.1).
git is already the newest version (1:2.30.2-1+deb11u4).
The following package was automatically installed and is no longer required:
linux-image-5.10.0-19-amd64
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
#######################################################
##### Install or update NodeJs
NodeJs 20 already installed : Nothing to do !
pnpm install version 9.15.6
changed 1 package in 850ms
1 package is looking for funding
run `npm fund` for details
#######################################################
#    INSTALLING : Mosquitto for Php                   #
#######################################################
Mosquitto for Php is already installed, nothing to do
##### Z2M BRANCH version to install : 2.1.0
#######################################################
##### Install Socat
Socat is already installed, nothing to do
#######################################################
##### Install yaml php and restart apache
Yaml is already installed, nothing to do
#######################################################
#####    Stopping Zigbee2mqtt deamon                  #
## Supprime l'installation dans /opt/zigbee2mqtt
#######################################################
##### Complete installation : Download Zigbee2mqtt git
Cloning into '/opt/zigbee2mqtt'...
Note: switching to '5e9d53f0aa94c947837dbb8252b1c70ff3bc08a2'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
#######################################################
##### Install/Update Zigbee2mqtt
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
Packages: +366
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 366, reused 366, downloaded 0, added 366, done
dependencies:
+ ajv 8.17.1
+ bind-decorator 1.0.11
+ debounce 2.2.0
+ express-static-gzip 2.2.0
+ fast-deep-equal 3.1.3
+ finalhandler 1.3.1
+ git-last-commit 1.0.1
+ humanize-duration 3.32.1
+ js-yaml 4.1.0
+ json-stable-stringify-without-jsonify 1.0.1
+ jszip 3.10.1
+ moment 2.30.1
+ mqtt 5.10.3
+ object-assign-deep 0.4.0
+ rimraf 6.0.1
+ semver 7.6.3
+ source-map-support 0.5.21
+ throttleit 2.1.0
+ winston 3.17.0
+ winston-syslog 2.7.1
+ winston-transport 4.9.0
+ ws 8.18.0
+ zigbee-herdsman 3.2.5
+ zigbee-herdsman-converters 21.27.1
+ zigbee2mqtt-frontend 0.9.4
optionalDependencies:
+ sd-notify 2.8.0
devDependencies:
+ @eslint/core 0.10.0
+ @eslint/js 9.19.0
+ @ianvs/prettier-plugin-sort-imports 4.4.1
+ @types/eslint__js 8.42.3
+ @types/finalhandler 1.2.3
+ @types/humanize-duration 3.27.4
+ @types/js-yaml 4.0.9
+ @types/node 22.10.10
+ @types/object-assign-deep 0.4.3
+ @types/readable-stream 4.0.18
+ @types/sd-notify 2.8.2
+ @types/serve-static 1.15.7
+ @types/ws 8.5.14
+ @vitest/coverage-v8 3.0.4
+ eslint 9.19.0
+ eslint-config-prettier 10.0.1
+ prettier 3.4.2
+ tmp 0.2.3
+ typescript 5.7.3
+ typescript-eslint 8.21.0
+ vitest 3.0.4
╭ Warning ─────────────────────────────────────────────────────────────────────╮│                                                                              ││   Ignored build scripts: @serialport/bindings-cpp, esbuild, sd-notify,       ││   unix-dgram.                                                                ││   Run "pnpm approve-builds" to pick which dependencies should be allowed     ││   to run scripts.                                                            ││                                                                              │╰──────────────────────────────────────────────────────────────────────────────╯
Done in 1.4s using pnpm v10.5.2
> zigbee2mqtt@2.1.0 build /opt/zigbee2mqtt
> tsc && node index.js writehash
#######################################################
##### Configure deamon and start it
#######################################################
#                         END                         #
#######################################################

mais le deamon ne démarre pas avec les log. debug :

> zigbee2mqtt@2.1.0 start /opt/zigbee2mqtt
> node index.js
Starting Zigbee2MQTT without watchdog.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
READ THIS CAREFULLY
Refusing to start because configuration is not valid, found the following errors:
- device_options must be object
If you don't know how to solve this, read https://www.zigbee2mqtt.io/guide/configuration
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 ELIFECYCLE  Command failed with exit code 1.

J’ai trouver une solution dégradée :

Zigbee2mqtt Version 2.1.0

Modification de configuration.yaml :

de :

device_options: []

Par :

device_options:
  legacy: false

Ludis

Je viens de lancer une mise à jour pour l’erreur pnpm

Bonjour,

Je viens de mettre à jours vers => Version 2025-03-06 08:25:05

Tout est OK, RAS.

Merci !

PS :
Version Zigbee2MQTT installée : 2.1.0
Nouvelle version Zigbee2MQTT disponible : 2.1.1 (Relancer les dépendances pour mettre à jour Zigbee2QMTT)
=> non disponible…

Merci encore.

Ludis