Read the statement by Michael Teeuw here.
Cannot find module 'undici' - 'npm install' doesn't work
-
Hi,
since today my MMM don´t start.
When I start it, I got the following error message
pi@raspberrypi:~/MagicMirror $ display=:0 npm start > magicmirror@2.30.0 start > npm run start:x11 > magicmirror@2.30.0 start:x11 > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js [2025-01-02 09:01:37.931] [ERROR] App threw an error during load [2025-01-02 09:01:37.938] [ERROR] Error: Cannot find module 'undici' Require stack: - /home/pi/MagicMirror/js/app.js - /home/pi/MagicMirror/js/electron.js at Module._resolveFilename (node:internal/modules/cjs/loader:1055:15) at s._resolveFilename (node:electron/js2c/browser_init:2:115476) at Module._resolveFilename (/home/pi/MagicMirror/node_modules/module-alias/index.js:49:29) at Module._load (node:internal/modules/cjs/loader:908:27) at c._load (node:electron/js2c/node_init:2:13672) at Module.require (node:internal/modules/cjs/loader:1122:19) at require (node:internal/modules/helpers:130:18) at Object.<anonymous> (/home/pi/MagicMirror/js/app.js:15:40) at Module._compile (node:internal/modules/cjs/loader:1256:14) at Module._extensions..js (node:internal/modules/cjs/loader:1311:10) at Module.load (node:internal/modules/cjs/loader:1098:32) at Module._load (node:internal/modules/cjs/loader:945:12) at c._load (node:electron/js2c/node_init:2:13672) at Module.require (node:internal/modules/cjs/loader:1122:19) at require (node:internal/modules/helpers:130:18) at Object.<anonymous> (/home/pi/MagicMirror/js/electron.js:4:14) A JavaScript error occurred in the main processWhen I try “npm install” I got the following
pi@raspberrypi:~/MagicMirror $ npm install npm error code EBADENGINE npm error engine Unsupported engine npm error engine Not compatible with your version of node/npm: magicmirror@2.30.0 npm error notsup Not compatible with your version of node/npm: magicmirror@2.30.0 npm error notsup Required: {"node":">=20.18.1 <21 || >=22"} npm error notsup Actual: {"npm":"10.8.2","node":"v18.20.5"} npm error A complete log of this run can be found in: /home/pi/.npm/_logs/2025-01-02T08_02_32_005Z-debug-0.logSo I tried to update my npm with
sudo apt update sudo apt full-upgrade sudo apt remove node sudo apt remove nodejs sudo apt install nodejsbut npm has still the version 10.8.2
So, what have I done wrong?
It would be really nice, if you have some advice for me.
Thank you in advance.
Kind regards
Klinge -
@Klinge yes it says we need node 20.18.1 or above
https://forum.magicmirror.builders/topic/19271/version-2-30-0-requires-updated-nodejs-warning-for-pi0w-installationsanyhow quickest way
install tool to allow changing node versionssudo npm install n -g sudo n 20.18.1now do the MagicMirror install
cd ~/MagicMirror npm run install-mm -
@Klinge also, next time use my upgrade script
-
@sdetweil Thank you for your help.
After updating to 20.18.1 unfortunately I get the following error
pi@raspberrypi:~/MagicMirror $ pwd /home/pi/MagicMirror pi@raspberrypi:~/MagicMirror $ npm run install-mm node: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by node)And yes, the next time I will use your upgrade script ;-)
-
@Klinge you are on buster os… you need to upgrade to a later version, as that library is not available on buster… my script would have told you that…
use my backup/restore scripts
https://github.com/sdetweil/MagicMirror-backup-restoreto be able to quickly move to new OS
use install script to install MM on new os
https://github.com/sdetweil/MagicMirror_scripts
and then restore to put back MM config and modules(and upgrade script next time)
-
@sdetweil Shit, that’s the same problem I had with my second mirror a few weeks ago. Well, it’s been running fine since 2016.
Many thanks for your tips. With your scripts I’ll quickly install the new one. -
@Klinge if you had started w my script it would have told you so you didn’t have to upgrade NOW . sorry
the whole objective of my scripts is to prevent this exact scenario. broke system.
-
@sdetweil Yes, you’re absolutely right, of course. Sometimes you have to learn from your own mistakes ;-) so we just call it a Layer8 problem ;-) Thanks anyway for your effort
-
K Klinge has marked this topic as solved on
-
K Klinge has marked this topic as unsolved on
-
Hi,
@sdetweil some minutes ago I updated my MMM with your scriptkling@raspi-mm-gaeste:~/MagicMirror $ bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/upgrade-script.sh)" apply update log will be in /home/kling/MagicMirror/installers/upgrade.log doing test run = false Node currently installed. Checking version number. Minimum Node version: v20.18.1 Installed Node version: v20.9.0 installing correct version of node and npm, please wait Check current Node installation ... Node currently installed. Checking version number. Minimum Node version: v20.18.1 Installed Node version: v20.18.1 No Node.js upgrade necessary. Check current NPM installation ... NPM currently installed. Checking version number. Minimum npm version: V10.8.2 Installed npm version: V10.8.2 No npm upgrade necessary. want /var/swap=200MByte, checking existing: keeping it saving custom.css local version 2.30.0 already same as master 2.30.0 restoring custom.cssAfter that I tried to start my MMM and now I got the same error message "Cannot find module ‘undici’.
kling@raspi-mm-gaeste:~/MagicMirror $ display=:0 npm start > magicmirror@2.30.0 start > npm run start:x11 > magicmirror@2.30.0 start:x11 > DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js [2025-02-13 16:04:02.858] [ERROR] App threw an error during load [2025-02-13 16:04:02.863] [ERROR] Error: Cannot find module 'undici' Require stack: - /home/kling/MagicMirror/js/app.js - /home/kling/MagicMirror/js/electron.js at Module._resolveFilename (node:internal/modules/cjs/loader:1232:15) at s._resolveFilename (node:electron/js2c/browser_init:2:121498) at Module._resolveFilename (/home/kling/MagicMirror/node_modules/module-alias/index.js:49:29) at Module._load (node:internal/modules/cjs/loader:1058:27) at c._load (node:electron/js2c/node_init:2:17025) at Module.require (node:internal/modules/cjs/loader:1318:19) at require (node:internal/modules/helpers:179:18) at Object.<anonymous> (/home/kling/MagicMirror/js/app.js:15:40) at Module._compile (node:internal/modules/cjs/loader:1484:14) at Module._extensions..js (node:internal/modules/cjs/loader:1564:10) at Module.load (node:internal/modules/cjs/loader:1295:32) at Module._load (node:internal/modules/cjs/loader:1111:12) at c._load (node:electron/js2c/node_init:2:17025) at Module.require (node:internal/modules/cjs/loader:1318:19) at require (node:internal/modules/helpers:179:18) at Object.<anonymous> (/home/kling/MagicMirror/js/electron.js:4:14) A JavaScript error occurred in the main process Uncaught Exception: Error: Cannot find module 'undici' Require stack: - /home/kling/MagicMirror/js/app.js - /home/kling/MagicMirror/js/electron.js at Module._resolveFilename (node:internal/modules/cjs/loader:1232:15) at s._resolveFilename (node:electron/js2c/browser_init:2:121498) at Module._resolveFilename (/home/kling/MagicMirror/node_modules/module-alias/index.js:49:29) at Module._load (node:internal/modules/cjs/loader:1058:27) at c._load (node:electron/js2c/node_init:2:17025) at Module.require (node:internal/modules/cjs/loader:1318:19) at require (node:internal/modules/helpers:179:18) at Object.<anonymous> (/home/kling/MagicMirror/js/app.js:15:40) at Module._compile (node:internal/modules/cjs/loader:1484:14) at Module._extensions..js (node:internal/modules/cjs/loader:1564:10) at Module.load (node:internal/modules/cjs/loader:1295:32) at Module._load (node:internal/modules/cjs/loader:1111:12) at c._load (node:electron/js2c/node_init:2:17025) at Module.require (node:internal/modules/cjs/loader:1318:19) at require (node:internal/modules/helpers:179:18) at Object.<anonymous> (/home/kling/MagicMirror/js/electron.js:4:14) [5112:0213/160403.943167:ERROR:gbm_wrapper.cc(74)] Failed to get fd for plane.: No such file or directory (2) [5112:0213/160403.943531:ERROR:gbm_wrapper.cc(257)] Failed to export buffer to dma_buf: No such file or directory (2)So my question again, what did I wrong? It is necessary to install the MMM completely new?
Thank you.
Kind regards.
Klinge -
@Klinge you tried to do it manually , my script will NOT upgrade OVER the same version accidentally
local version 2.30.0 already same as master 2.30.0
so you have to FORCE it
change the update command string end from
apply
to
force -
@sdetweil Great, now it works.
Thank you for your help again
-
K Klinge has marked this topic as solved on
-
Hello - I am receiving a similar error and struggling to resolve. Does anyone have suggestions?
npm error code EBADENGINE
npm error engine Unsupported engine
npm error engine Not compatible with your version of node/npm: magicmirror@2.30.0
npm error notsup Not compatible with your version of node/npm: magicmirror@2.30.0
npm error notsup Required: {“node”:“>=20.18.1 <21 || >=22”}
npm error notsup Actual: {“npm”:“10.8.1”,“node”:“v20.16.0”}
npm error A complete log of this run can be found in: /home/tleonetti/.npm/_logs/2025-02-17T00_47_21_325Z-debug-0.log -
@tleo32 yes, you didnt read the release notes. we need node 20.18.1 or above, not 21
because you started manually, use my upgrade script w force as the parm instead of apply
see https://github.com/sdetweil/MagicMirror_scripts
also https://forum.magicmirror.builders/post/123993 -
thank you for responding @sdetweil, for some reason not updating the node, please see below:
update log will be in /home/tleonetti/MagicMirror/installers/upgrade.log
doing test run = false
Node currently installed. Checking version number.
Minimum Node version: v20.18.1
Installed Node version: v20.16.0
installing correct version of node and npm, please wait
Check current Node installation …
Node currently installed. Checking version number.
Minimum Node version: v20.18.1
Installed Node version: v20.16.0
Node should be upgraded.
Installing Node.js …
force: line 323: [: too many arguments
tar (child): /home/tleonetti/node_release-.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
node version is
Node.js installation Done! version=v20.16.0
Check current NPM installation …
NPM currently installed. Checking version number.
Minimum npm version: V10.8.2
Installed npm version: V10.8.1
npm should be upgraded.
Installing npm …
npm installation Done! version=V10.8.1upgrading from version 2.30.0 to 2.30.0
force: line 611: pm2: command not found
fetching latest revisions
updating MagicMirror runtime, please wait
npm error code EBADENGINE
npm error engine Unsupported engine
npm error engine Not compatible with your version of node/npm: magicmirror@2.30.0
npm error notsup Not compatible with your version of node/npm: magicmirror@2.30.0
npm error notsup Required: {“node”:“>=20.18.1 <21 || >=22”}
npm error notsup Actual: {“npm”:“10.8.1”,“node”:“v20.16.0”}
npm error A complete log of this run can be found in: /home/tleonetti/.npm/_logs/2025-02-17T19_56_02_704Z-debug-0.log -
@tleo32 can you do this
cd ~/MagicMirror curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash - &>somefile.txtand send me somefile.txt via email. same userid at gmail
and then
short fixsudo npm install n sudo n 20.18.1 hash -r npm run install-MagicMirrorplease advise results
-
@tleo32 I also pushed a fix, so, rerunning the upgrade with force should work…
-
he had nvm
installed too, conflicts with n ( nodejs version of nvm)
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login