Read the statement by Michael Teeuw here.
Error starting after upgrade
-
@sdetweil
ok i understand - output is
/usr/bin/nodemaybe is this important: i work directly on my raspberry with ssh
-
@wwats ok, lets run this
bash -c "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/node20_install.sh)"
-
@sdetweil
Everything works :thumbs_up: :thumbs_up: ! Thank You very much - so the mirror is running again. Can I something do for You? -
-
@sdetweil said in Error starting after upgrade:
@wwats said in Error starting after upgrade:
Can I something do for You
no… i just like to help…
thank you so much :folded_hands_light_skin_tone:
-
Sam,
I’m having similar problems since the recent upgrade. Big disclaimer here that I’m also not the savviest with technology, but was able to get the MM up and running with 95% of what I envisioned and I’m adventurous enough to try and find solutions before asking questions.
I have been searching and attempting various ways to fix my issues, which I fear may have made this more complex to solve (i.e. attempted to reinstall the newest upgrades both using your script and manually, everything I found short of using the “force” option). My previous attempts have been working directly on the Pi with keyboard, currently attempting via SSH with same results so far.
I’m at a crossroads in my mind now and I’m hoping you can provide steering. Have I gunked this up so much that I should remove and reinstall MM (keeping copes of the previously working config.js, custom.css, and modules folders that I saved on the Pi desktop to try and make the reinstall easier) or can this be fixed? Second concern is that now I’m very hesitant to attempt future upgrades after dealing with this issue (and being far beyond my own capabilities). Any tips or tricks to avoid this in the future?
I tried the steps above in this thread with the following results:
- “n” and “nvm”, got messages that “command not found” (both in the main folder and MM folder)
- “sudo n prune” and “sudo n uninstall”, similar message “sudo n: command not found” (both in main and MM folders)
- “node -v” gave me “v20.8.0” (I have ran your script for the node update several times now)
- “ls-laf…” method to find the usr/bin location didn’t work (“no such file or directory”, both main and MM folders attempted), but “which node” DID work, showed “/usr/bin/node”
Just re-ran the script you linked above and still seeing the same results, posted below. (I used “npm start”, was using pm2 to auto start MM before the upgrade.)
magicmirror@2.25.0 start
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js[10.10.2023 03:10.39.346] [LOG] Starting MagicMirror: v2.25.0
[10.10.2023 03:10.39.359] [LOG] Loading config …
[10.10.2023 03:10.39.371] [DEBUG] config template file not exists, no envsubst
[10.10.2023 03:10.39.384] [LOG] Loading module helpers …
[10.10.2023 03:10.39.391] [LOG] No helper found for module: alert.
[10.10.2023 03:10.39.463] [LOG] Initializing new module helper …
[10.10.2023 03:10.39.465] [LOG] Module helper loaded: updatenotification
[10.10.2023 03:10.39.473] [LOG] No helper found for module: clock.
[10.10.2023 03:10.39.490] [ERROR] (node:26678) UnhandledPromiseRejectionWarning: Error: Cannot find module ‘digest-fetch’
Require stack:- /home/rmco01/MagicMirror/modules/default/calendar/calendarfetcher.js
- /home/rmco01/MagicMirror/modules/default/calendar/node_helper.js
- /home/rmco01/MagicMirror/js/app.js
- /home/rmco01/MagicMirror/js/electron.js
- /home/rmco01/MagicMirror/node_modules/electron/dist/resources/default_app.asar/main.js
- at node:internal/modules/cjs/loader:1084:15
at Function. (node:electron/js2c/browser_init:2:117419)
at Module._resolveFilename (/home/rmco01/MagicMirror/node_modules/module-alias/index.js:49:29)
at node:internal/modules/cjs/loader:929:27
at Function._load (node:electron/js2c/asar_bundle:2:13327)
at Module.require (node:internal/modules/cjs/loader:1150:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object. (/home/rmco01/MagicMirror/modules/default/calendar/calendarfetcher.js:9:16)
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/asar_bundle:2:13327)
at Module.require (node:internal/modules/cjs/loader:1150:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object. (/home/rmco01/MagicMirror/modules/default/calendar/node_helper.js:9:25)
(Useelectron --trace-warnings ...
to show where the warning was created)
[10.10.2023 03:10.39.492] [ERROR] (node:26678) 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: 1)
[26678:1010/031040.523164:ERROR:object_proxy.cc(590)] Failed to call method: org.freedesktop.portal.Settings.Read: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to retrieve device information
I understand that the weblink and MESA-LOADER messages are from some relegated elements which aren’t around anymore and just nuisance messages.
My previous efforts were trying to find a solution to the “digest-fetch” module, since that appears to be the main problem that I see. I have previously attempted to fix the “envsubst” debug message using guidance in other threads, which either didn’t work, or has been undone by my repeated attempts to solve this problem.
Apologies for the long and rambling note, just wanted to give as much detail that may be useful. Thank you!
-
@rmcon said in Error starting after upgrade:
Cannot find module ‘digest-fetch’
this is the prior release code
which means you didn’t run the upgrade
either my script or the manual upgrade
note my script is 2 part, test and run a second time w a parameter to actually do the upgrade
-
I’m a little confused regarding the two separate scripts. I thought the updates were necessary, not optional and didn’t understand why would there be a test run script if the changes need to be applied. In other words, I figured the first script that doesn’t actually apply changes was just extra effort… Is the intent to make sure the update works with the user’s specific MM configuration?
I tried the trial run the first time and I don’t recall if I could tell there were any changes, so I tried the second script to actually make changes.
So, I just tried running the “test” script again, the one thing I did differently is to say “No” when asked if I wanted to keep 23 files that are different than the master (last time I said “Yes”).
Just tried starting MM again, getting the same error. Since the test run didn’t give me any better results, I went ahead and tried the script to apply changes. Same result as before.
The current version is 2.25.0, right? I see that stated in the terminal window:
rmco01@raspberrypi:~/MagicMirror $ npm startmagicmirror@2.25.0 start
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js[10.10.2023 19:39.57.465] [LOG] Starting MagicMirror: v2.25.0
[10.10.2023 19:39.57.476] [LOG] Loading config …
[10.10.2023 19:39.57.485] [DEBUG] config template file not exists, no envsubst
[10.10.2023 19:39.57.495] [LOG] Loading module helpers …
[10.10.2023 19:39.57.507] [LOG] No helper found for module: alert.
[10.10.2023 19:39.57.568] [LOG] Initializing new module helper …
[10.10.2023 19:39.57.569] [LOG] Module helper loaded: updatenotification
[10.10.2023 19:39.57.578] [LOG] No helper found for module: clock.
[10.10.2023 19:39.57.592] [ERROR] (node:7168) UnhandledPromiseRejectionWarning: Error: Cannot find module ‘digest-fetch’
Require stack:- /home/rmco01/MagicMirror/modules/default/calendar/calendarfetcher.js
- /home/rmco01/MagicMirror/modules/default/calendar/node_helper.js
- /home/rmco01/MagicMirror/js/app.js
- /home/rmco01/MagicMirror/js/electron.js
- /home/rmco01/MagicMirror/node_modules/electron/dist/resources/default_app.asar/main.js
(remainder truncated since it appears to be the same as previously reported)
Is there some other step that I’m missing? When you say “run a second time w a parameter to actually do the upgrade,” the parameter you’re referring to is “apply” at the end of the link/script, correct? Or am I supposed to do something else in MM or the config file to make it take effect?
-
Just got a chance to work on this again. Tried doing both upgrade scripts (again) and I’m getting the same results. I reviewed the upgrade.log file but nothing is jumping out at me (full log from today’s efforts below). The only items that seem like they didn’t go as intended are a few modules that may have been partially skipped in the upgrade process (“skipped processing for…” MMM-Wallpaper, MMM-connection-status, MMM-Remote-Control, MMM-BurinIn), but I don’t think those would be related to the problems I’m experiencing when trying to start MM. I may remove those from my config.js file to see in anything changes. Other ideas?
(Apologies for the section of large text below, I can’t figure out why it’s doing that and how to fix it)
Upgrade started - Sun Oct 15 18:17:56 PDT 2023
system is Linux raspberrypi 6.1.21-v7+ #1642 SMP Mon Apr 3 17:20:52 BST 2023 armv7l GNU/Linux
the os is Distributor ID: Raspbian Description: Raspbian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye
doing test run = true, NO updates will be applied!
[96mCheck current Node installation …[0m
[0mNode currently installed. Checking version number.
[0mMinimum Node version: [1mv20.8.0[0m
[0mInstalled Node version: [1mv20.8.0[0m
[92mNo Node.js upgrade necessary.[0m
[96mCheck current NPM installation …[0m
[0mNPM currently installed. Checking version number.
[0mMinimum npm version: [1mV10.1.0[0m
[0mInstalled npm version: [1mV10.1.0[0m
[92mNo npm upgrade necessary.[0msaving custom.css
remote name = origin
upgrading from version 2.25.0 to 2.25.0
fetching latest revisions
git fetch rc=0
current branch = master
On branch master
Your branch is up to date with ‘origin/master’.Changes not staged for commit:
(use “git add/rm …” to update what will be committed)
(use “git restore …” to discard changes in working directory)
modified: modules/default/alert/templates/alert.njk
modified: modules/default/alert/templates/notification.njk
modified: modules/default/calendar/calendar.js
modified: modules/default/calendar/calendarfetcher.js
modified: modules/default/calendar/calendarfetcherutils.js
modified: modules/default/compliments/compliments.js
modified: modules/default/helloworld/helloworld.njk
modified: modules/default/newsfeed/fullarticle.njk
modified: modules/default/newsfeed/newsfeed.njk
modified: modules/default/newsfeed/newsfeedfetcher.js
modified: modules/default/newsfeed/oldconfig.njk
modified: modules/default/updatenotification/node_helper.js
modified: modules/default/updatenotification/updatenotification.njk
modified: modules/default/weather/current.njk
modified: modules/default/weather/forecast.njk
modified: modules/default/weather/hourly.njk
modified: modules/default/weather/providers/openweathermap.js
deleted: modules/default/weather/providers/overrideWrapper.js
modified: modules/default/weather/providers/weathergov.js
modified: modules/default/weather/providers/yr.js
modified: modules/default/weather/weather.js
modified: modules/default/weather/weatherprovider.js
modified: package-lock.json
modified: package.jsonUntracked files:
(use “git add …” to include in what will be committed)
core
css/save_custom.cssno changes added to commit (use “git add” and/or “git commit -a”)
there are 23 local files that are different than the master repomodules/default/alert/templates/alert.njk
modules/default/alert/templates/notification.njk
modules/default/calendar/calendar.js
modules/default/calendar/calendarfetcher.js
modules/default/calendar/calendarfetcherutils.js
modules/default/compliments/compliments.js
modules/default/helloworld/helloworld.njk
modules/default/newsfeed/fullarticle.njk
modules/default/newsfeed/newsfeed.njk
modules/default/newsfeed/newsfeedfetcher.js
modules/default/newsfeed/oldconfig.njk
modules/default/updatenotification/node_helper.js
modules/default/updatenotification/updatenotification.njk
modules/default/weather/current.njk
modules/default/weather/forecast.njk
modules/default/weather/hourly.njk
modules/default/weather/providers/openweathermap.js
modules/default/weather/providers/weathergov.js
modules/default/weather/providers/yr.js
modules/default/weather/weather.js
modules/default/weather/weatherprovider.js
package-lock.json
package.jsonsave/restore files selection = n
restoring modules/default/alert/templates/alert.njk from repo
skipping restore for modules/default/alert/templates/alert.njk, doing test run
restoring modules/default/alert/templates/notification.njk from repo
skipping restore for modules/default/alert/templates/notification.njk, doing test run
restoring modules/default/calendar/calendar.js from repo
skipping restore for modules/default/calendar/calendar.js, doing test run
restoring modules/default/calendar/calendarfetcher.js from repo
skipping restore for modules/default/calendar/calendarfetcher.js, doing test run
restoring modules/default/calendar/calendarfetcherutils.js from repo
skipping restore for modules/default/calendar/calendarfetcherutils.js, doing test run
restoring modules/default/compliments/compliments.js from repo
skipping restore for modules/default/compliments/compliments.js, doing test run
restoring modules/default/helloworld/helloworld.njk from repo
skipping restore for modules/default/helloworld/helloworld.njk, doing test run
restoring modules/default/newsfeed/fullarticle.njk from repo
skipping restore for modules/default/newsfeed/fullarticle.njk, doing test run
restoring modules/default/newsfeed/newsfeed.njk from repo
skipping restore for modules/default/newsfeed/newsfeed.njk, doing test run
restoring modules/default/newsfeed/newsfeedfetcher.js from repo
skipping restore for modules/default/newsfeed/newsfeedfetcher.js, doing test run
restoring modules/default/newsfeed/oldconfig.njk from repo
skipping restore for modules/default/newsfeed/oldconfig.njk, doing test run
restoring modules/default/updatenotification/node_helper.js from repo
skipping restore for modules/default/updatenotification/node_helper.js, doing test run
restoring modules/default/updatenotification/updatenotification.njk from repo
skipping restore for modules/default/updatenotification/updatenotification.njk, doing test run
restoring modules/default/weather/current.njk from repo
skipping restore for modules/default/weather/current.njk, doing test run
restoring modules/default/weather/forecast.njk from repo
skipping restore for modules/default/weather/forecast.njk, doing test run
restoring modules/default/weather/hourly.njk from repo
skipping restore for modules/default/weather/hourly.njk, doing test run
restoring modules/default/weather/providers/openweathermap.js from repo
skipping restore for modules/default/weather/providers/openweathermap.js, doing test run
restoring modules/default/weather/providers/weathergov.js from repo
skipping restore for modules/default/weather/providers/weathergov.js, doing test run
restoring modules/default/weather/providers/yr.js from repo
skipping restore for modules/default/weather/providers/yr.js, doing test run
restoring modules/default/weather/weather.js from repo
skipping restore for modules/default/weather/weather.js, doing test run
restoring modules/default/weather/weatherprovider.js from repo
skipping restore for modules/default/weather/weatherprovider.js, doing test run
restoring package-lock.json from repo
skipping restore for package-lock.json, doing test run
restoring package.json from repo
skipping restore for package.json, doing test run
test merge result rc=‘’ , if empty, no conflicts
skipping merge, only test run
Checking for modules with removed libraries
downloading dumpactivemodules script**processing dependency changes for active modules with package.json files
processing for module MMM-Wallpaper please waitskipped processing for MMM-Wallpaper, doing test run
processing complete for module MMM-Wallpaper
processing for module MMM-connection-status please waitskipped processing for MMM-connection-status, doing test run
processing complete for module MMM-connection-status
processing for module MMM-Remote-Control please waitskipped processing for MMM-Remote-Control, doing test run
processing complete for module MMM-Remote-Control
processing for module MMM-BurnIn please waitskipped processing for MMM-BurnIn, doing test run
processing complete for module MMM-BurnIn**
restoring custom.css
removing git alias
Upgrade ended - Sun Oct 15 18:18:11 PDT 2023Upgrade started - Sun Oct 15 18:19:04 PDT 2023
system is Linux raspberrypi 6.1.21-v7+ #1642 SMP Mon Apr 3 17:20:52 BST 2023 armv7l GNU/Linux
the os is Distributor ID: Raspbian Description: Raspbian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye
user requested to apply changes
doing test run = false
[96mCheck current Node installation …[0m
[0mNode currently installed. Checking version number.
[0mMinimum Node version: [1mv20.8.0[0m
[0mInstalled Node version: [1mv20.8.0[0m
[92mNo Node.js upgrade necessary.[0m
[96mCheck current NPM installation …[0m
[0mNPM currently installed. Checking version number.
[0mMinimum npm version: [1mV10.1.0[0m
[0mInstalled npm version: [1mV10.1.0[0m
[92mNo npm upgrade necessary.[0msaving custom.css
remote name = origin
local version 2.25.0 already same as master 2.25.0
restoring custom.css
removing git alias
Upgrade ended - Sun Oct 15 18:19:08 PDT 2023 -
@rmcon said in Error starting after upgrade:
Codename: bullseye
doing test run = true, NO updates will be applied!this is the test run.
upgrade is a two.part process
everyone puts lots of energy into building their mirrors.
last thing my script needs to do is screw it up.
so test run let’s you get an idea if there are any issues you need to fix BEFORE making any changesthe second run (with the apply parameter)
actually DOES the update.however, I will NOT upgrade a system already upgraded by default
IF you need to force the upgrade process over the same version, then change the parm apply to force