Read the statement by Michael Teeuw here.
how to update my MM
-
I’m not sure I understood and did the right thing …:
pi@raspberrypi:~ $ pm2 stop all [PM2] Applying action stopProcessId on app [all](ids: [ 0 ]) [PM2] [mm](0) ✓ ┌─────┬───────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐ │ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │ ├─────┼───────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤ │ 0 │ mm │ default │ N/A │ fork │ 0 │ 0 │ 0 │ stopped │ 0% │ 0b │ pi │ disabled │ └─────┴───────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘ pi@raspberrypi:~ $ pm2 flush [PM2] Flushing /home/pi/.pm2/pm2.log [PM2] Flushing: [PM2] /home/pi/.pm2/logs/mm-out.log [PM2] /home/pi/.pm2/logs/mm-error.log [PM2] Logs flushed pi@raspberrypi:~ $ pm2 start 0 [PM2] Applying action restartProcessId on app [0](ids: [ '0' ]) [PM2] [mm](0) ✓ [PM2] Process successfully started ┌─────┬───────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐ │ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │ ├─────┼───────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤ │ 0 │ mm │ default │ N/A │ fork │ 29137 │ 0s │ 0 │ online │ 0% │ 2.4mb │ pi │ disabled │ └─────┴───────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘ pi@raspberrypi:~ $ pm2 stop all [PM2] Applying action stopProcessId on app [all](ids: [ 0 ]) [PM2] [mm](0) ✓ ┌─────┬───────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐ │ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │ ├─────┼───────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤ │ 0 │ mm │ default │ N/A │ fork │ 0 │ 0 │ 0 │ stopped │ 0% │ 0b │ pi │ disabled │ └─────┴───────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘ pi@raspberrypi:~ $ npm init -y Wrote to /home/pi/package.json: { "name": "pi", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" } pi@raspberrypi:~ $ npm install ??? npm ERR! code EINVALIDTAGNAME npm ERR! Invalid tag name "???": Tags may not have any characters that encodeURIComponent encodes. npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2022-01-13T15_57_40_124Z-debug.log pi@raspberrypi:~ $
-
@sdetweil Maybe combine the script and check if exist then update, else frsh install? Would that work?
-
@rikko14 npm init -y
what is going on…
the instructions say
cd modulename (where modulename is the module having the error) if the module does NOT provide a file called package.json, then do npm init -ywhy are you doing this in the users home folder?
-
so i have to do first :
cd ~/MagicMirror/and afternpm init -ythat’s right ? -
@mumblebaj said in how to update my MM:
Maybe combine the script and check if exist then update, else frsh install? Would that work?
what? check if what exist?
the problem here is that i looped thru all the installed modules, and found a package.json, which now requires a new
npm installin the module folder, BUT, the npm install failed cause of the networking problem
one that is finished, I loop thru all the modules and check to see if they use one of the troublesome libraries
and do NOT reference it in package.json…
and if NO package.json, then I create one, and THEN do the npm install of the libraryphew, all the same as the instructions i gave in the linked topic.
but there might be ANOTHER library too … that I don’t handle…
-
@rikko14 it says
to fix this you need to install the library in the module folder
cd ~/MagicMirror/modules
cd modulename (where modulename is the module having the error)
SO, you have to cd ~/MagicMirror/modules/modulename
same as every other time you were told to cd modulename
-
I’m lost …
here are all the modules I have installed.

I have to do:
cd ~ / MagicMirror / modules / modulenamefor each module and thennpm init -y?
and post here all the results ofnpm init -y?I have already had this Electron problem several times and I do not remember what I had typed as the command line but it was not that
-
@sdetweil said in how to update my MM:
what? check if what exist?
What I was referring to is for a single script to run, check if MagicMirror exist, check version and upgrade if not on the latest, if not exist then do a fresh install. This way whoever runs your script does not run the wrong one. Just a suggestion.
-
@rikko14 look in the pm2 logs output
search for Cannot find module
sorry for the dual use of the word module. NPM calls the library a module and MagicMirror calls its app a module…
after that string, there will be a name in quotes ‘request’ or ‘valid-url’, or maybe something else
on one of the next lines will be a file path
MagicMirror/modules/??? some MagicMirror module name
THAT is the MagicMirror module which is missing the library found in the 'Cannot find module ’ message above
So, navigate to that MagicMirror module folder
cd ~/MagicMirror/modules/modulenameand then look for the package.json file
ls package.jsonif you get ‘No such file or directory’ in response to the ls command, then create the file by doing
npm init -ynext step,
npm install ???
where ??? is the name of the missing library in the message ’ Cannot find module ’done for this library for this MM module
-
@mumblebaj oh… no… don’t want to get into that
they are two distinct functions… users have to learn sometime
