Hallo zusammen.
Wie schon öfter habe ich mal wieder Probleme mit textbasierten Updates
Ich wollte Z2M unter Proxmox updaten und habe folgende Fehlermeldung bekommen:
Acquiring necessary components...
npm error code EUSAGE
npm error
npm error The `npm ci` command can only install with an existing package-lock.json or
npm error npm-shrinkwrap.json with lockfileVersion >= 1. Run an install with npm@5 or
npm error later to generate a package-lock.json file, then try again.
npm error
npm error Clean install a project
npm error
npm error Usage:
npm error npm ci
npm error
npm error Options:
npm error [--install-strategy <hoisted|nested|shallow|linked>] [--legacy-bundling]
npm error [--global-style] [--omit <dev|optional|peer> [--omit <dev|optional|peer> ...]]
npm error [--include <prod|dev|optional|peer> [--include <prod|dev|optional|peer> ...]]
npm error [--strict-peer-deps] [--foreground-scripts] [--ignore-scripts] [--no-audit]
npm error [--no-bin-links] [--no-fund] [--dry-run]
npm error [-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]]
npm error [-ws|--workspaces] [--include-workspace-root] [--install-links]
npm error
npm error aliases: clean-install, ic, install-clean, isntall-clean
npm error
npm error Run "npm help ci" for more info
npm error A complete log of this run can be found in: /root/.npm/_logs/2025-01-06T19_21_43_516Z-debug-0.log
Failed to install necessary components.
Und bevor ich mal wieder alles “Verschlimmbessere” indem ich ergoogelte Dinge ausprobiere, hoffe ich mal wieder auf eure kompetente Hilfe.
Und wenn ich schonmal dabei bin…
Beim Backup bekomme ich auch eine, für mich unverständliche, Warnung.
INFO: starting new backup job: vzdump 102 --node pve --compress zstd --notes-template '{{guestname}}' --notification-mode auto --storage externe_beatle --remove 0 --mode snapshot
INFO: Starting Backup of VM 102 (lxc)
INFO: Backup started at 2025-01-06 20:39:06
INFO: status = running
INFO: CT Name: zigbee2mqtt
INFO: including mount point rootfs ('/') in backup
INFO: backup mode: snapshot
INFO: ionice priority: 7
INFO: create storage snapshot 'vzdump'
WARNING: You have not turned on protection against thin pools running out of space.
WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.
Logical volume "snap_vm-102-disk-1_vzdump" created.
WARNING: Sum of all thin volume sizes (322.01 GiB) exceeds the size of thin pool pve/data and the amount of free space in volume group (16.00 GiB).
INFO: creating vzdump archive '/mnt/externe_beatle/dump/vzdump-lxc-102-2025_01_06-20_39_06.tar.zst'
INFO: Total bytes written: 3547504640 (3.4GiB, 46MiB/s)
INFO: archive file size: 958MB
INFO: adding notes to backup
INFO: cleanup temporary 'vzdump' snapshot
Logical volume "snap_vm-102-disk-1_vzdump" successfully removed.
INFO: Finished Backup of VM 102 (00:01:16)
INFO: Backup finished at 2025-01-06 20:40:22
INFO: Backup job finished successfully
TASK OK
Die Fehlermeldung unter Proxmox hatte ich auch. Wenn man in Ruhe die breaking changes liest findet man auch eine Lösung dafür. Lies mich
pnpm is now used instead of npm, the installation instructions and update.sh script has been updated accordingly. For existing installations you need to execute npm install -g pnpm before updating.
Before using the ./update.sh script, make sure you pull changes from git with git pull --no-rebase (after stopping Zigbee2MQTT).
If Zigbee2MQTT fails to start because of missing files after the update, run pnpm run clean, then start Zigbee2MQTT again.
Danke, werd ich ma ltesten, wenn ich mehr Zeit (für evtl. Fehler) habe.
Da ich von der Materie eigentlich keine Ahnung habe, hilft mir das Lesen der “breaking changes” leider nicht viel.
Nur für mein Verständnis … hast Du Z2M in einer eigenen virtuellen Umgebung VM/Container installiert oder HA läuft in einer VM in Proxmox und in dieser virtuellen HA Installation ist dann Z2M installiert?
Du mußt ins zigbee Verzeichnis fürs Update, wie du ja mitlerweile herausgefunden hast.
Das mit fund brauchst du nur, wenn du mit einer Spende dem Projekt helfen möchtest. ‘npm fund xyz’ öffnet dir den Link zu der Seite, wo der Entwickler des entsprechenden Paketes um etwas Anerkennung bittet. Kann man sich mit der Eselsbrücke zur Webseite gofundme ganz gut merken.
Bisher hatte ich immer “nur” die Konsole geöffnet und direkt das nackte Wort update
ohne irgendwelche “Zusätze” eingetippt und dann liefen die Updates.
Das erklären dir besser andere, da ich da auch nicht wirklich Ahnung von habe.
Aber ich konnte das Backup des Containers einfach zurückspielen, als das Update Z2M zerschossen hatte. Aber inzwischen denke ich, (für mich) wäre es einfacher gewesen, es direkt als HA-Addon zu installieren.
Aber wie gesagt, gibt es hier sehr hilfreiche “Profis”, die dir das mit Sicherheit besser erklären können bzw. die entsprechenden Infos verlinken können.
Ich hatte diese Fragen auch mal und die wurden mir hier in diesem Forum kompetent erklärt, weshalb ich mich auch für die Lösung entschieden habe, beim Update auf ein “potenteres” System. Mit ein wenig Suchen sollte sich auch einiges hierzu im Forum finden lassen.
Bin da auch kein Pro. Ist aber eine reine subjektive Entscheidung.
Wenn es separat läuft, kann HA down sein (z.b. Neustart o.ä.) und Zigbee2mqtt läuft weiter. Du könntest zumindest über z2m noch die Geräte schalten.
Für den 0815 User würde ich immer das HA Addon empfehlen.
Selbiges mit dem Mosquito Broker, könnte auch separat laufen, z.B. wenn mehrere Sachen über einen Broker laufen sollen.
Theoretisch wäre eine Wechsel auf ein anderes System einfacher aber wer will schon weg von HA
Denke subjektiv beschreibt es ganz gut. Für die Meisten ist das HA Addon die bessere Wahl.
Wobei man jetzt bei 2.0 schon sah, daß Viele auf dem falschen Fuß erwischt wurden. HA sagt, es gibt ein Update, “Mach”, klick, klick. Bumm. Im Container auf der Konsole, denkst du vielleicht doch noch mal einen Moment nach, die release Notes zu lesen.
Ich nutze jetzt gut 15 Jahre Linux und lebe den Ansatz, für jedes Problem ein einzelnes Werkzeug, System. So gesehen auch eine Philosophie Frage. Man wird flexibler, zum Preis von mehr Verantwortung.