Read the statement by Michael Teeuw here.
How to update.
-
But is there a way (a sh-script) to update MM and all (!) of the installed (different) modules in a batch. I now do have to go through all the directories recursively. That takes lots of time and is quite annoying. Any idea?
Thx Jimmy -
I use this script, which comes with no guarantee:
#!/usr/bin/env bash cd /home/pi/MagicMirror echo "######### CHECKING MAGIC MIRROR ##########" git fetch if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ] then echo "######### UPGRADING MAGIC MIRROR #########" git pull npm install else echo "######## NO UPGRADE REQUIRED #########" fi echo "" cd modules for directory in *; do if [[ -d ${directory} && ${directory} != "node_modules" && ${directory} != "default" ]]; then echo "######### CHECKING ${directory} ##########" cd ${directory} git fetch if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ]; then echo "######### UPGRADING ${directory} #########" git pull if [[ -e "package.json" && -f "package.json" ]]; then npm install fi else echo "######## NO UPGRADE REQUIRED #########" fi echo "" cd .. fi done
-
@izanbard Thank you for this! :)
-
Thank You, awesome !
-
This post is deleted! -
@izanbard Hello, added a restart of the mirror (via pm2) if an npm install has been done and also added “–production” to the npm install command. Sometimes the module-developer have lot’s of extra stuff added in the package list just for developing. :)
I’m currently now running this script via CRON every night. :)#!/usr/bin/env bash updated=false cd /home/pi/MagicMirror echo "Checking for MagicMirror updates." git fetch if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ] then echo "Found, updating..." git pull npm install updated=true echo "Update done." else echo "No update needed." fi echo "" cd modules for directory in *; do if [[ -d ${directory} && ${directory} != "node_modules" && ${directory} != "default" ]]; then echo "Checking for ${directory} updates." cd ${directory} git fetch if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ]; then echo "Found, updating ${directory}..." git pull if [[ -e "package.json" && -f "package.json" ]]; then echo "package.joson changed for ${directory}, installing..." npm install --production updated=true echo "Update done." fi else echo "No update needed." fi echo "" cd .. fi done if $updated; then echo "Restart of MM needed, restarting now." pm2 restart mm fi echo "All done. :)"
-
@izanbard Thank you!!
-
thank u!
-
pi@akpi:~/MagicMirror $ sudo git pull && npm install
Updating 8010e62…5c41e24
error: Your local changes to the following files would be overwritten by merge:
css/main.css
Please, commit your changes or stash them before you can merge.
Aborting
Any ideas… -
This post is deleted!