@sdetweil if i run your git repo
it looks liike this:
pi@MM:~ $ cd ~/MagicMirror/modules
pi@MM:~/MagicMirror/modules $ git clone https://github.com/Jopyth/MMM-Buttons.git
Klone nach 'MMM-Buttons' ...
remote: Enumerating objects: 54, done.
remote: Total 54 (delta 0), reused 0 (delta 0), pack-reused 54
Empfange Objekte: 100% (54/54), 11.34 KiB | 893.00 KiB/s, fertig.
Löse Unterschiede auf: 100% (25/25), fertig.
pi@MM:~/MagicMirror/modules $ cd MMM-Buttons
pi@MM:~/MagicMirror/modules/MMM-Buttons $ npm install
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
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 electron-rebuild@1.11.0: Please use @electron/rebuild moving forward. There is no API change, just a package name change
npm ERR! code 7
npm ERR! path /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@6.1.0
npm ERR! gyp info using node@20.4.0 | linux | arm
npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
npm ERR! gyp ERR! UNCAUGHT EXCEPTION
npm ERR! gyp ERR! stack TypeError: Cannot assign to read only property 'cflags' of object '#<Object>'
npm ERR! gyp ERR! stack at createConfigFile (/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/node-gyp/lib/configure.js:118:21)
npm ERR! gyp ERR! stack at /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/node-gyp/lib/configure.js:85:9
npm ERR! gyp ERR! stack at /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/mkdirp/index.js:30:20
npm ERR! gyp ERR! stack at FSReqCallback.oncomplete (node:fs:189:23)
npm ERR! gyp ERR! System Linux 5.10.103-v7+
npm ERR! gyp ERR! command "/usr/bin/node" "/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll
npm ERR! gyp ERR! node -v v20.4.0
npm ERR! gyp ERR! node-gyp -v v6.1.0
npm ERR! gyp ERR! This is a bug in `node-gyp`.
npm ERR! gyp ERR! Try to update node-gyp and file an Issue if it does not help:
npm ERR! gyp ERR! <https://github.com/nodejs/node-gyp/issues>
npm ERR! A complete log of this run can be found in: /home/pi/.npm/_logs/2023-07-09T13_31_31_133Z-debug-0.log
pi@MM:~/MagicMirror/modules/MMM-Buttons $
then i changed in our package.json
"postinstall": "node_modules/.bin/magicmirror-rebuild -e ../../node_modules/electron"
},
"dependencies": {
"onoff": "latest",
"magicmirror-rebuild": "latest"
},
"devDependencies": {
"magicmirror-rebuild": "^1.0.0"
}
and do npm install
it looks like this:
pi@MM:~/MagicMirror/modules/MMM-Buttons $ npm install
> Magic-Mirror-Module-Buttons@1.0.0 postinstall
> node_modules/.bin/magicmirror-rebuild -e ../../node_modules/electron
sh: 1: node_modules/.bin/magicmirror-rebuild: not found
npm ERR! code 127
npm ERR! path /home/pi/MagicMirror/modules/MMM-Buttons
npm ERR! command failed
npm ERR! command sh -c node_modules/.bin/magicmirror-rebuild -e ../../node_modules/electron
npm ERR! A complete log of this run can be found in: /home/pi/.npm/_logs/2023-07-09T13_37_41_609Z-debug-0.log
pi@MM:~/MagicMirror/modules/MMM-Buttons $
so, the package.json
is allready changed, i delete the new created file package-lock.json
and folder node_modules
and run npm i magicmirror-rebuild
it look like this:
pi@MM:~/MagicMirror/modules/MMM-Buttons $ npm i magicmirror-rebuild
npm WARN idealTree Removing dependencies.magicmirror-rebuild in favor of devDependencies.magicmirror-rebuild
added 191 packages, and audited 192 packages in 39s
37 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
and then in run ./node_modules/.bin/MagicMirror-rebuild
, it looks like this an everything ist ok an running with no errors:
pi@MM:~/MagicMirror/modules/MMM-Buttons $ ./node_modules/.bin/MagicMirror-rebuild
⠋ MagicMirror Building module: epoll, Completed: 0gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
⠙ MagicMirror Building module: epoll, Completed: 0gyp http GET https://www.electronjs.org/headers/v25.2.0/node-v25.2.0-headers.tar.gz
⠦ MagicMirror Building module: epoll, Completed: 0gyp http 200 https://artifacts.electronjs.org/headers/v25.2.0/node-v25.2.0-headers.tar.gz?force_headers_dist=1
⠙ MagicMirror Building module: epoll, Completed: 0gyp http GET https://www.electronjs.org/headers/v25.2.0/SHASUMS256.txt
⠹ MagicMirror Building module: epoll, Completed: 0gyp http 200 https://artifacts.electronjs.org/headers/v25.2.0/SHASUMS256.txt?force_headers_dist=1
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/home/pi/MagicMirror/modules/MMM-Buttons/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 '/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/25.2.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/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/25.2.0',
gyp info spawn args '-Dnode_gyp_dir=/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/25.2.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll',
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 ]
⠸ MagicMirror Building module: epoll, Completed: 0gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Verzeichnis „/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build“ wird betreten
CXX(target) Release/obj.target/epoll/src/epoll.o
⠹ MagicMirror Building module: epoll, Completed: 0 SOLINK_MODULE(target) Release/obj.target/epoll.node
⠇ MagicMirror Building module: epoll, Completed: 0 COPY Release/epoll.node
make: Verzeichnis „/home/pi/MagicMirror/modules/MMM-Buttons/node_modules/epoll/build“ wird verlassen
✔ MagicMirror Rebuild Complete
hope it helps you :-)
Regards, Peter from Switzerland