NEWS
RPI-Monitor und GPIO rpi2 v2.3.1
-
@asgothian
[How-to] ioBroker richtig installieren
sudo apt update && sudo apt upgrade -y
curl -sl https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt-get install -y build-essential libavahi-compat-libdnssd-dev libudev-dev libpam0g-dev nodejs
node -v && nodejs -v && npm -v
curl -sL https://iobroker.net/install.sh | bash -Wo hast du denn das her?
Im Grunde reicht der Einzeiler:curl -sLf https://iobroker.net/install.sh | bash -Der Installer zieht dann auch nodejs usw. rein.
-
@thomas-braun sagte in RPI-Monitor und GPIO rpi2 v2.3.1:
Wie schaut denn deine Ausgangslage aus?
Generelle Vorgehensweise (bei allen Sprüngen): Alt-System auf den allerletzten Stand bringen, davon ein gescheites Backup ziehen (Backitup-Adapter!), neues Betriebssystem installieren, auf den letzten Stand bringen, iobroker leer installieren, in den leeren ioBroker das Backup einspielen.Da fehlt ein wichtiger Punkt. Da auch das auf Stand bringen schon Probleme erzeugen kann:
- Backup (A) ziehen (So wie das System ist)
- Auf den neusten möglichen Stand bringen, ohne das Betriebssystem hoch zu ziehen
- Backup (B) ziehen
- neues OS installieren
- IoBroker installieren
- Backup einspielen - wenn Möglich Backup B, im Notfall Backup A
A.
Naja, ein struppiges Backup (A) würde ich gar nicht einspielen. Die Installation wird ja nicht besser dadurch.
Also vorher die ganze Choose auf das richtige Gleis setzen. -
Naja, ein struppiges Backup (A) würde ich gar nicht einspielen. Die Installation wird ja nicht besser dadurch.
Also vorher die ganze Choose auf das richtige Gleis setzen.@thomas-braun sagte in RPI-Monitor und GPIO rpi2 v2.3.1:
Naja, ein struppiges Backup (A) würde ich gar nicht einspielen. Die Installation wird ja nicht besser dadurch.
Also vorher die ganze Choose auf das richtige Gleis setzen.im ioBroker backup hast du keine Installationsdaten, sondern nur Konfiguration / und Daten. Da kommt vielleicht bei einzelnen Adaptern veraltete Konfigurationen rein - aber in den meisten Fällen kommt man damit brauchbar durch.
Und ich hab lieber ein Backup wo ich gezielt bestimmte dinge heraus nehmen kann als nix.
A.
-
@thomas-braun sagte in RPI-Monitor und GPIO rpi2 v2.3.1:
Naja, ein struppiges Backup (A) würde ich gar nicht einspielen. Die Installation wird ja nicht besser dadurch.
Also vorher die ganze Choose auf das richtige Gleis setzen.im ioBroker backup hast du keine Installationsdaten, sondern nur Konfiguration / und Daten. Da kommt vielleicht bei einzelnen Adaptern veraltete Konfigurationen rein - aber in den meisten Fällen kommt man damit brauchbar durch.
Und ich hab lieber ein Backup wo ich gezielt bestimmte dinge heraus nehmen kann als nix.
A.
Und ich hab lieber ein gescheites, in sich konsistentes Backup eines senkrechten Systems.
So unterschiedlich können die Ansätze sein. -
Und ich hab lieber ein gescheites, in sich konsistentes Backup eines senkrechten Systems.
So unterschiedlich können die Ansätze sein.@thomas-braun Ich denke ich hab nicht besonders gut beschrieben was ich meine:
- Adaptereinstellungen sind üblicherweise OK, auch wenn sie von älteren Versionen stammen - ich kenne Keinen Adapter bei dem die Einstellungen nicht abwärtskompatibel sind. Und was an Einstellungen 'neu' gemacht werden muss sollte beim Versuch das System hoch zu ziehen aufgefallen sein
- Bei Datenbanken ist klar ob sie ok sind oder nicht (sprich - die restauriert man aus dem was du ein struppiges backup nennst sowieso nicht)
- Bei all den Adaptern wo externe Daten existieren (z.Bsp. Yahka, vis, Zigbee) ist auch aus dem Versuch das System hoch zu ziehen klar ob die externen Daten sauber sind oder nicht - auch die restauriert man nur wenn damit das hochziehen klappt.
Und wenn man das System nicht sauber hochgezogen bekommt ist ein vorhandenes Teilbackup besser als kein backup.
Wo ich mit gehe - wenn das Backup nach hochziehen existiert sollte man das nehmen.
Ansonsten bin ich extrem froh das es im ioBroker eine weitergehende Trennung zwischen
codeundDatengibt, und das das Backup an den meisten Stellen nurDatenbeinhaltet, und eben keinen (extern zu aktualisierenden) code. (Eigene Skripte fallen dabei durchaus unterDaten).Der Gedanke 'erst hochziehen, dann backup, dann installieren, dann restore' funktioniert ausschliesslich wenn das hochziehen und sauber machen funktioniert. Nur stellt sich dann die Frage - warum neu installieren, wenn man doch alles hochgezogen bekommt ?
A.
-
@thomas-braun Ich denke ich hab nicht besonders gut beschrieben was ich meine:
- Adaptereinstellungen sind üblicherweise OK, auch wenn sie von älteren Versionen stammen - ich kenne Keinen Adapter bei dem die Einstellungen nicht abwärtskompatibel sind. Und was an Einstellungen 'neu' gemacht werden muss sollte beim Versuch das System hoch zu ziehen aufgefallen sein
- Bei Datenbanken ist klar ob sie ok sind oder nicht (sprich - die restauriert man aus dem was du ein struppiges backup nennst sowieso nicht)
- Bei all den Adaptern wo externe Daten existieren (z.Bsp. Yahka, vis, Zigbee) ist auch aus dem Versuch das System hoch zu ziehen klar ob die externen Daten sauber sind oder nicht - auch die restauriert man nur wenn damit das hochziehen klappt.
Und wenn man das System nicht sauber hochgezogen bekommt ist ein vorhandenes Teilbackup besser als kein backup.
Wo ich mit gehe - wenn das Backup nach hochziehen existiert sollte man das nehmen.
Ansonsten bin ich extrem froh das es im ioBroker eine weitergehende Trennung zwischen
codeundDatengibt, und das das Backup an den meisten Stellen nurDatenbeinhaltet, und eben keinen (extern zu aktualisierenden) code. (Eigene Skripte fallen dabei durchaus unterDaten).Der Gedanke 'erst hochziehen, dann backup, dann installieren, dann restore' funktioniert ausschliesslich wenn das hochziehen und sauber machen funktioniert. Nur stellt sich dann die Frage - warum neu installieren, wenn man doch alles hochgezogen bekommt ?
A.
@asgothian sagte in RPI-Monitor und GPIO rpi2 v2.3.1:
warum neu installieren, wenn man doch alles hochgezogen bekommt ?
Um z.B. beim RaspberryPi von einem 32Bit-System auf ein 64Bit-System zu kommen. Oder sauber von 10 auf 11.
-
Wo hast du denn das her?
Im Grunde reicht der Einzeiler:curl -sLf https://iobroker.net/install.sh | bash -Der Installer zieht dann auch nodejs usw. rein.
@thomas-braun said in RPI-Monitor und GPIO rpi2 v2.3.1:
Wo hast du denn das her?
Im Grunde reicht der Einzeiler:curl -sLf https://iobroker.net/install.sh | bash -Der Installer zieht dann auch nodejs usw. rein.
hallo Thomas
hab alles so [https://forum.iobroker.net/topic/51869/installation-auf-raspi-einfacher-geht-s-nicht](link url) gemacht bekomme rpi2 nicht hin und werde solange darauf verzichten bis es über den offizellen Adapter funktioniert -
@thomas-braun said in RPI-Monitor und GPIO rpi2 v2.3.1:
Wo hast du denn das her?
Im Grunde reicht der Einzeiler:curl -sLf https://iobroker.net/install.sh | bash -Der Installer zieht dann auch nodejs usw. rein.
hallo Thomas
hab alles so [https://forum.iobroker.net/topic/51869/installation-auf-raspi-einfacher-geht-s-nicht](link url) gemacht bekomme rpi2 nicht hin und werde solange darauf verzichten bis es über den offizellen Adapter funktioniertHier hat es @plc wohl im ersten Anlauf hinbekommen.
Vielleicht kann er dir sagen, was er gemacht hat. -
@thomas-braun weiterhin viele Warn und Error.
Notice #797?pi@raspberrypi:~ $ iobroker url https://github.com/Grothesk242/ioBroker.rpi2.git --host raspberrypi --debug install Grothesk242/ioBroker.rpi2#c87e9539d89bac8f4d19b266679bcb78ed554f1d NPM version: 10.9.3 Installing Grothesk242/ioBroker.rpi2#c87e9539d89bac8f4d19b266679bcb78ed554f1d... (System call) npm warn skipping integrity check for git dependency ssh://git@github.com/Grothesk242/ioBroker.rpi2.git npm warn deprecated npmlog@4.1.2: This package is no longer supported. npm warn deprecated are-we-there-yet@1.1.7: This package is no longer supported. npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm warn deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm warn deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm warn deprecated gauge@2.7.4: This package is no longer supported. > iobroker.rpi2@2.4.0 preinstall > sudo apt-get install -y libgpiod-dev || exit 0 Reading package lists... Building dependency tree... Reading state information... libgpiod-dev is already the newest version (2.2.1-2). The following package was automatically installed and is no longer required: libyuv0 Use 'sudo apt autoremove' to remove it. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. > @stoprocent/noble@1.19.1 install > node-gyp-build gyp info it worked if it ends with ok gyp info using node-gyp@8.4.1 gyp info using node@22.20.0 | linux | arm64 (node:12953) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) gyp info find Python using Python version 3.13.5 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/@stoprocent/noble/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/22.20.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.20.0', gyp info spawn args '-Dnode_gyp_dir=/opt/iobroker/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.20.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/@stoprocent/noble', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] Traceback (most recent call last): File "/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> import gyp # noqa: E402 ^^^^^^^^^^ File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> import gyp.input File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module> from distutils.version import StrictVersion ModuleNotFoundError: No module named 'distutils' gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/iobroker/node_modules/node-gyp/lib/configure.js:259:16) gyp ERR! stack at ChildProcess.emit (node:events:519:28) gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12) gyp ERR! System Linux 6.12.47+rpt-rpi-v8 gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/@stoprocent/noble gyp ERR! node -v v22.20.0 gyp ERR! node-gyp -v v8.4.1 gyp ERR! not ok > mdns@2.7.2 install > node-gyp rebuild gyp info it worked if it ends with ok gyp info using node-gyp@8.4.1 gyp info using node@22.20.0 | linux | arm64 (node:12971) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) gyp info find Python using Python version 3.13.5 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/mdns/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/22.20.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.20.0', gyp info spawn args '-Dnode_gyp_dir=/opt/iobroker/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.20.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/mdns', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] Traceback (most recent call last): File "/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> import gyp # noqa: E402 ^^^^^^^^^^ File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> import gyp.input File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module> from distutils.version import StrictVersion ModuleNotFoundError: No module named 'distutils' gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/iobroker/node_modules/node-gyp/lib/configure.js:259:16) gyp ERR! stack at ChildProcess.emit (node:events:519:28) gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12) gyp ERR! System Linux 6.12.47+rpt-rpi-v8 gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-gyp" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/mdns gyp ERR! node -v v22.20.0 gyp ERR! node-gyp -v v8.4.1 gyp ERR! not ok > node-dht-sensor@0.4.5 install > node-gyp configure gyp info it worked if it ends with ok gyp info using node-gyp@8.4.1 gyp info using node@22.20.0 | linux | arm64 (node:12987) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) gyp info find Python using Python version 3.13.5 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/node-dht-sensor/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/22.20.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.20.0', gyp info spawn args '-Dnode_gyp_dir=/opt/iobroker/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.20.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/node-dht-sensor', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] Traceback (most recent call last): File "/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> import gyp # noqa: E402 ^^^^^^^^^^ File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> import gyp.input File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module> from distutils.version import StrictVersion ModuleNotFoundError: No module named 'distutils' gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/iobroker/node_modules/node-gyp/lib/configure.js:259:16) gyp ERR! stack at ChildProcess.emit (node:events:519:28) gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12) gyp ERR! System Linux 6.12.47+rpt-rpi-v8 gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-gyp" "configure" gyp ERR! cwd /opt/iobroker/node_modules/node-dht-sensor gyp ERR! node -v v22.20.0 gyp ERR! node-gyp -v v8.4.1 gyp ERR! not ok > opengpio@2.0.2 install > node-gyp rebuild gyp info it worked if it ends with ok gyp info using node-gyp@8.4.1 gyp info using node@22.20.0 | linux | arm64 (node:13003) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) gyp info find Python using Python version 3.13.5 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/opengpio/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/22.20.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.20.0', gyp info spawn args '-Dnode_gyp_dir=/opt/iobroker/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.20.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/opengpio', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] Traceback (most recent call last): File "/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> import gyp # noqa: E402 ^^^^^^^^^^ File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> import gyp.input File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module> from distutils.version import StrictVersion ModuleNotFoundError: No module named 'distutils' gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/iobroker/node_modules/node-gyp/lib/configure.js:259:16) gyp ERR! stack at ChildProcess.emit (node:events:519:28) gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12) gyp ERR! System Linux 6.12.47+rpt-rpi-v8 gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-gyp" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/opengpio gyp ERR! node -v v22.20.0 gyp ERR! node-gyp -v v8.4.1 gyp ERR! not ok npm error code 1 npm error path /opt/iobroker/node_modules/opengpio npm error command failed npm error command sh -c node-gyp rebuild npm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2025-10-20T11_05_16_554Z-debug-0.log npm warn skipping integrity check for git dependency ssh://git@github.com/Grothesk242/ioBroker.rpi2.git npm warn deprecated npmlog@4.1.2: This package is no longer supported. npm warn deprecated are-we-there-yet@1.1.7: This package is no longer supported. npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm warn deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm warn deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm warn deprecated gauge@2.7.4: This package is no longer supported. gyp info it worked if it ends with ok gyp info using node-gyp@8.4.1 gyp info using node@22.20.0 | linux | arm64 (node:12953) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) gyp info find Python using Python version 3.13.5 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/@stoprocent/noble/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/22.20.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.20.0', gyp info spawn args '-Dnode_gyp_dir=/opt/iobroker/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.20.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/@stoprocent/noble', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] Traceback (most recent call last): File "/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> import gyp # noqa: E402 ^^^^^^^^^^ File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> import gyp.input File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module> from distutils.version import StrictVersion ModuleNotFoundError: No module named 'distutils' gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/iobroker/node_modules/node-gyp/lib/configure.js:259:16) gyp ERR! stack at ChildProcess.emit (node:events:519:28) gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12) gyp ERR! System Linux 6.12.47+rpt-rpi-v8 gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/@stoprocent/noble gyp ERR! node -v v22.20.0 gyp ERR! node-gyp -v v8.4.1 gyp ERR! not ok gyp info it worked if it ends with ok gyp info using node-gyp@8.4.1 gyp info using node@22.20.0 | linux | arm64 (node:12971) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) gyp info find Python using Python version 3.13.5 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/mdns/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/22.20.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.20.0', gyp info spawn args '-Dnode_gyp_dir=/opt/iobroker/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.20.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/mdns', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] Traceback (most recent call last): File "/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> import gyp # noqa: E402 ^^^^^^^^^^ File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> import gyp.input File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module> from distutils.version import StrictVersion ModuleNotFoundError: No module named 'distutils' gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/iobroker/node_modules/node-gyp/lib/configure.js:259:16) gyp ERR! stack at ChildProcess.emit (node:events:519:28) gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12) gyp ERR! System Linux 6.12.47+rpt-rpi-v8 gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-gyp" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/mdns gyp ERR! node -v v22.20.0 gyp ERR! node-gyp -v v8.4.1 gyp ERR! not ok gyp info it worked if it ends with ok gyp info using node-gyp@8.4.1 gyp info using node@22.20.0 | linux | arm64 (node:12987) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) gyp info find Python using Python version 3.13.5 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/node-dht-sensor/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/22.20.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.20.0', gyp info spawn args '-Dnode_gyp_dir=/opt/iobroker/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.20.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/node-dht-sensor', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] Traceback (most recent call last): File "/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> import gyp # noqa: E402 ^^^^^^^^^^ File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> import gyp.input File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module> from distutils.version import StrictVersion ModuleNotFoundError: No module named 'distutils' gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/iobroker/node_modules/node-gyp/lib/configure.js:259:16) gyp ERR! stack at ChildProcess.emit (node:events:519:28) gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12) gyp ERR! System Linux 6.12.47+rpt-rpi-v8 gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-gyp" "configure" gyp ERR! cwd /opt/iobroker/node_modules/node-dht-sensor gyp ERR! node -v v22.20.0 gyp ERR! node-gyp -v v8.4.1 gyp ERR! not ok gyp info it worked if it ends with ok gyp info using node-gyp@8.4.1 gyp info using node@22.20.0 | linux | arm64 (node:13003) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead. (Use `node --trace-deprecation ...` to show where the warning was created) gyp info find Python using Python version 3.13.5 found at "/usr/bin/python3" gyp info spawn /usr/bin/python3 gyp info spawn args [ gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/opengpio/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/iobroker/.cache/node-gyp/22.20.0/include/node/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/22.20.0', gyp info spawn args '-Dnode_gyp_dir=/opt/iobroker/node_modules/node-gyp', gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/22.20.0/<(target_arch)/node.lib', gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/opengpio', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] Traceback (most recent call last): File "/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> import gyp # noqa: E402 ^^^^^^^^^^ File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> import gyp.input File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module> from distutils.version import StrictVersion ModuleNotFoundError: No module named 'distutils' gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/iobroker/node_modules/node-gyp/lib/configure.js:259:16) gyp ERR! stack at ChildProcess.emit (node:events:519:28) gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:293:12) gyp ERR! System Linux 6.12.47+rpt-rpi-v8 gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-gyp" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/opengpio gyp ERR! node -v v22.20.0 gyp ERR! node-gyp -v v8.4.1 gyp ERR! not ok npm error code 1 npm error path /opt/iobroker/node_modules/opengpio npm error command failed npm error command sh -c node-gyp rebuild npm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2025-10-20T11_05_16_554Z-debug-0.log host.raspberrypi Cannot install Grothesk242/ioBroker.rpi2#c87e9539d89bac8f4d19b266679bcb78ed554f1d: 1@Torsten-Lehmann sagte in RPI-Monitor und GPIO rpi2 v2.3.1:
ModuleNotFoundError: No module named 'distutils'
Die Meldung bekommst du weg, in dem das Paket python3-setuptools nachinstalliert wird.
sudo apt install python3-setuptoolsalso.
-
@haus-automatisierung hat heiute eine 3.0.1 released die debian trixie unterstützen sollte:
https://github.com/iobroker-community-adapters/ioBroker.rpi2#301-2025-11-28