Read the statement by Michael Teeuw here.
Installer scripts on Raspberry Pi Zero 2 W
-
Apologies if this is a duplicate topic.
I’ve been trying to get Magic Mirror installed on my Pi Zero 2 W. I have tried to run the master install script from here: https://github.com/sdetweil/MagicMirror_scripts
bash -c “$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)”
However this gives me the following error:
“nodejs version required for MagicMirror is no longer available for armv61 (pi0w) devices”I’ve also tried the below:
git clone https://github.com/MichMich/MagicMirror
cd MagicMirror/
npm install --only=prod --omit=devHowever I see a series of error codes here as well:
npm error code EBADENGINE
npm error engine Unsupported engine
npm error engine Not compatible with your version of node/npm: magicmirror@2.32.0
npm error engine Not compatible with your version of node/npm: magicmirror@2.32.0
npm error notsup Required: {“node”:“>=22.14.0”}
npm error notsup Actual: {"NPM:“10.8.2”,“node”:“v20.18.1”}Currently on node v20.18.1 and npm 10.8.2.
It seems the newer versions of MM require versions of nodejs which aren’t supported on the Zero 2 W hardware. Is there a version of the installer script that will let me point to an older version of MM?
Any guidance would be appreciated!
-
@kribbitykrab Zero 2w is armv7, Zero w is armv6
the required nodejs is not available for armv6
send me the ~/install.log
filesame userid at gmail
i believe you have the pi Zero w. not 2w
MagicMirror manual install requires node 22.14 or higher
you have node 20 -
@kribbitykrab you can get an earlier release thru git by using the version tag
do
cd ~/MagicMirror git fetch --tags git checkout v2.30.0 npm run install-mm
you cannot upgrade from there
-
@sdetweil Thank you so much for the reply! I believe you are correct, I think this is indeed a Pi Zero W, not the 2W–thanks for getting me on the right track.
I’ll give the v2.30.0 MM a shot, appreciate it! Will try to send the install log to you over email as well.
-
@kribbitykrab you can look at the log, search for armv6
or douname -a
-
@sdetweil Ok, so I got the v2.30.0 MM installed using your instructions above, thanks again.
I also was able to get pm2 installed with a:
sudo npm install -g pm2I was able to get pm2 to auto generate the ecosystem.config.js somehow. I also had to copy an index.js in from somewhere into the MagicMirror directory. I also made a copy of the sample_config.js and titled it config.js just for a dry run.
But now when I try to do a:
pm2 startI get a few warnings and errors:
[PM2][WARN] Applications service-worker not running, starting…
[PM2][ERROR] Error: Script not found: /home/./MagicMirror/service-workerI clearly need a service-worker script to start something, guessing something listed in the default config.js. When I do a pm2 list I see the v2.30.0 MM with PID 2444, which is neat I guess.
How do I figure out what service-worker script I’m missing and how do I get it installed where I need to?
I should mention at this point I was hoping to use this project to self-host and display a calendar on a display via MM. I’m starting to think I may need to upgrade to a beefier pi than the Zero W given the challenges so far, but want to see how far I can get first given that this is the hardware I already have on hand.
-
@kribbitykrab just run the fixuppm2 script from my scripts repo
-
@kribbitykrab pi 0w is a tough env now.
i think the next challenge is lack of the electron browser on armv6l processors
in my installer script when run on armv6l, i setup server mode and launch a browser over it.
you can run the setup_browser_over_server script to do that outside install
see the scripts repo readme for the browsers supported and how to inform the startup script which to use
-
@sdetweil I executed the following commands one after the other according to the readme:
export external_browser=midori
DISPLAY=:0 npm startThis gives me the following readout:
magicmirror@2.30.0 start
npm run start:x11magic mirror@2.30.0 start:x11
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.jssh: 1: ./node_modules/.bin/electron: not found
I had though that Midori supported electron, and I am (barely) able to get Midori to boot from the desktop environment. Advice?
Thanks!
-
@kribbitykrab if you ran the setup _over_server
it should have changed the start script in
package.json to"start":"./run-start.sh",
can you confirm that
looks like i had a bug in the script, run it again