Read the statement by Michael Teeuw here.
MMM-ModuleToggleButton suddenly broken?
-
@philie pm2 collects the data in separate files normal and error. it’s hard to tell
do this
pm2 stop all cd ~/MagicMirror npm start >somfile.txt 2>&1
wait 20 seconds
ctrl-q
then edit somefile.txtafter we go it then
pm2 status
pm2 start xx
xx is the number or name of the managed app -
@sdetweil
Hey Sam,
thank you for your help.Here is the demanded output:
philie@magicmirror:~/MagicMirror $ npm start > debugger_log.txt 2>&1 philie@magicmirror:~/MagicMirror $ cat debugger_log.txt > magicmirror@2.26.0 start > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js [14.02.2024 21:14.35.291] [LOG] Starting MagicMirror: v2.26.0 [14.02.2024 21:14.35.303] [LOG] Loading config ... [14.02.2024 21:14.35.315] [DEBUG] config template file not exists, no envsubst [14.02.2024 21:14.35.322] [LOG] Loading module helpers ... [14.02.2024 21:14.35.380] [ERROR] (node:20831) UnhandledPromiseRejectionWarning: Error: The module '/home/philie/node_modules/epoll/build/Release/epoll.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 115. This version of Node.js requires NODE_MODULE_VERSION 118. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`). at process.func [as dlopen] (node:electron/js2c/node_init:2:2107) at Object.<anonymous> (node:internal/modules/cjs/loader:1356:18) at Object.func [as .node] (node:electron/js2c/node_init:2:2107) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/node_init:2:13357) at Module.require (node:internal/modules/cjs/loader:1150:19) at require (node:internal/modules/cjs/helpers:121:18) at bindings (/home/philie/node_modules/bindings/bindings.js:112:48) at /home/philie/node_modules/epoll/epoll.js:7:31 at Object.<anonymous> (/home/philie/node_modules/epoll/epoll.js:15:3) at Module._compile (node:internal/modules/cjs/loader:1271:14) at Object..js (node:internal/modules/cjs/loader:1326:10) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/node_init:2:13357) (Use `electron --trace-warnings ...` to show where the warning was created) [14.02.2024 21:14.35.382] [ERROR] (node:20831) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) /home/philie/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
So this tells me diretly that the version uf node.js is not sufficent.
if I try to upgrade it using npm rebuild it looks like the following:
philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $ sudo npm rebuild npm ERR! code 127 npm ERR! path /home/philie/MagicMirror/modules/MMM-ModuleToggleButton npm ERR! command failed npm ERR! command sh -c node_modules/.bin/electron-rebuild -e ../../node_modules/electron npm ERR! sh: 1: node_modules/.bin/electron-rebuild: not found npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2024-02-14T20_16_30_701Z-debug-0.log
How can I upgrade from 115 to 118?
-
@philie yep, the tools aren’t installed
and it needs more changesI won’t be able to get to it til later tonight
but if you look at my fork for MMM-Buttons
https://github.com/sdetweil/MMM-ButtonsI added a postinstall action in package json and added the postinstall script
you can run the postinstall without npm
./postinstall
-
@sdetweil
Hey Sam
Thank you very much.
To keep it simple, I installed your MMM-Buttons. The postinstall Script did run and I got positive Feedback regarding rebuilding Electron.When i start MM after, I get still the same Error as before…
philie@magicmirror:~/MagicMirror $ cat somfile.txt > magicmirror@2.26.0 start > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js [15.02.2024 11:40.59.323] [LOG] Starting MagicMirror: v2.26.0 [15.02.2024 11:40.59.334] [LOG] Loading config ... [15.02.2024 11:40.59.345] [DEBUG] config template file not exists, no envsubst [15.02.2024 11:40.59.353] [LOG] Loading module helpers ... [15.02.2024 11:40.59.410] [ERROR] (node:1536) UnhandledPromiseRejectionWarning: Error: The module '/home/philie/node_modules/epoll/build/Release/epoll.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 115. This version of Node.js requires NODE_MODULE_VERSION 118. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`). at process.func [as dlopen] (node:electron/js2c/node_init:2:2107) at Object.<anonymous> (node:internal/modules/cjs/loader:1356:18) at Object.func [as .node] (node:electron/js2c/node_init:2:2107) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/node_init:2:13357) at Module.require (node:internal/modules/cjs/loader:1150:19) at require (node:internal/modules/cjs/helpers:121:18) at bindings (/home/philie/node_modules/bindings/bindings.js:112:48) at /home/philie/node_modules/epoll/epoll.js:7:31 at Object.<anonymous> (/home/philie/node_modules/epoll/epoll.js:15:3) at Module._compile (node:internal/modules/cjs/loader:1271:14) at Object..js (node:internal/modules/cjs/loader:1326:10) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/node_init:2:13357) (Use `electron --trace-warnings ...` to show where the warning was created) [15.02.2024 11:40.59.412] [ERROR] (node:1536) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2) /home/philie/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
-
@philie ok, two things…
1 lets fix the epoll problem.
it seems that was installed accidentally in the wrong place as its outside the MagicMirror folder/home/philie/node_modules/epoll
do
cd ~ rm -rf node_modules/epoll
2 use my fork of the MMM-ModuleToggleButton module which fixes the install
https://github.com/sdetweil/MMM-ModuleToggleButtonremove the old module folder, clone my fork and npm install it
cd ~/MagicMirror/modules rm -rf MMM-ModuleToggleButton git clone https://github.com/sdetweil/MMM-ModuleToggleButton cd MMM-ModuleToggleButton npm install
let me know
-
@sdetweil
Great! Module ist now installed fine and the test-confg (just the toggle module and another one to toggle activated) is working!Very much appreciated what you are doing for this community! Thank you!
-
@philie awesome!!!
-
@sdetweil said in MMM-ModuleToggleButton suddenly broken?:
cd MMM-ModuleToggleButton
Hey there, it’s me again with the same problem…
I did the MM Update to 2.28.0 by Script. Like usually some things are broken after and I did npm install and npm rebuild in the MM rootdirectory. It installed some stuff and looked good so far.
But the module MMM-ModuleToggleButton stays broken like after every update.
It has again something to do with electron, I tried to reinstall electron, but have no success…The output:
philie@magicmirror:~/MagicMirror/modules $ git clone https://github.com/sdetweil/MMM-ModuleToggleButton Cloning into 'MMM-ModuleToggleButton'... remote: Enumerating objects: 44, done. remote: Counting objects: 100% (4/4), done. remote: Compressing objects: 100% (4/4), done. remote: Total 44 (delta 0), reused 2 (delta 0), pack-reused 40 Receiving objects: 100% (44/44), 10.44 KiB | 1.30 MiB/s, done. Resolving deltas: 100% (17/17), done. philie@magicmirror:~/MagicMirror/modules $ cd MMM-ModuleToggleButton philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $ npm install > MMM-ModuleToggleButton@1.0.0 postinstall > ./postinstall /home/philie/MagicMirror/modules/MMM-ModuleToggleButton ./postinstall: line 8: ../../node_modules/.bin/electron-rebuild: No such file or directory npm error code 127 npm error path /home/philie/MagicMirror/modules/MMM-ModuleToggleButton npm error command failed npm error command sh -c ./postinstall npm error A complete log of this run can be found in: /home/philie/.npm/_logs/2024-07-14T11_29_32_616Z-debug-0.log philie@magicmirror:~/MagicMirror/modules/MMM-ModuleToggleButton $
so, electron-rebuild in node_modules seems to be missing…
Indeed:
philie@magicmirror:~/MagicMirror/node_modules $ cd electron philie@magicmirror:~/MagicMirror/node_modules/electron $ ll total 1068 drwxr-xr-x 4 root root 4096 Jul 14 13:20 . drwxr-xr-x 679 philie philie 28672 Jul 14 13:10 .. -rw-r--r-- 1 root root 8126 Jul 14 12:46 checksums.json -rwxr-xr-x 1 root root 612 Jul 14 12:46 cli.js drwxr-xr-x 4 root root 4096 Jul 14 12:48 dist -rw-r--r-- 1 root root 972754 Jul 14 12:46 electron.d.ts -rw-r--r-- 1 root root 659 Jul 14 12:46 index.js -rw-r--r-- 1 root root 3178 Jul 14 12:46 install.js -rw-r--r-- 1 root root 1096 Jul 14 12:46 LICENSE drwxr-xr-x 70 root root 4096 Jul 14 13:20 node_modules -rw-r--r-- 1 root root 586 Jul 14 12:46 package.json -rw-r--r-- 1 root root 31409 Jul 14 13:20 package-lock.json -rw-r--r-- 1 root root 8 Jul 14 12:48 path.txt -rw-r--r-- 1 root root 5370 Jul 14 12:46 README.md
I did already the steps from last time (therefore I answer in this old topic) but no luck this time.
What can I do?Thank you,
philie -
@philie can you dump out the postinstall
file in the module folder…
it seems to be missing a step -
@philie I see the postinstall script needed an update
do a
git pull
in the module folder
then
npm install again