MagicMirror² v2.14.0 is available! For more information about this release, check out this topic.

How to update the master branch?

  • Dear fellows,

    I would like to know how to update the MagicMirror 2 setup. My current problem is following:

    the software tells me that I am 251 commits behind the master branch.

    Unfortunately updating everyhting did not work.
    I updated it via following command:
    “sudo apt-get update && apt-get upgrade”

    Does someone has the same probem?
    Many greetings from Hamburg 🙂

  • thats not how to update MM 😉

    try this:

    cd ~/MagicMirror && git pull

    Keep in mind, that updating COULD result in issues with 3rd party modules, cause not all are up to date and some changes were made in MagicMirror. But in most cases it should be ok.

  • @cruunnerr thank you for your fast reply.
    I ve tried to run it but unfortunately the console tells me to commit changes or to stash them before I can merge.

    Unfortunately I have no clue what this means. Could you help me out? 🙂

  • Module Developer

    Seems like you’ve changed some of the files in the MagicMirror directory. If you want to upgrade you’ll have to stash the changes. run git stash in your MagicMirror directory, then run git pull. Stashing wont affect your config.js or any modules you’ve installed into your modules directory.

    @ninjabreadman’s has a better fix for you than I do.

  • @PaulB First, make a backup of your install with cp -r ~/MagicMirror ~/MM-Backup. Then run git stash in ~/MagicMirror to temporarily stash your changes so that git can merge all those new commits.

    To merge, run git pull to update your MM install, then use npm install to upgrade or install any new dependencies to the appropriate version.

    Once complete, run git stash apply to reintroduce your changes (while also keeping them in the stash) – you may need to deconflict or otherwise review these changes. You can see your changes with git diff.

    Once you’re happy and MM is running smoothly, you can git stash drop to get rid of the stash. You can run rm -rf ~/MM-Backup once you’re content it’s all working as it should.

    Finally, I recommend you take the opportunity to also run sudo apt-get update && sudo apt-get dist-upgrade npm && sudo dist-upgrade pm2 (I think nodejs should upgrade as a dependency of npm but could be wrong).

  • @mochman Thanks! Sorry I subposted on you; I was writing on my phone (so didn’t see your post), plus Mobile Safari really hates the compose window of NodeBB, so it takes forever to post anything decent). That and autocorrect really hates git and npm. Cheers. 😉

  • Thanks guys, I have one more to upgrade. And figure out why MMM-Traffic won’t upgrade, but I think you way around would help that to.

  • Admin

    cd ~/MagicMirror/modules/MMM-Traffic
    git pull

    Restart your MagicMirror and you should be good to go. 😉

  • @ninjabreadman said in How to update the master branch?:

    @PaulB First, make a backup of your install with cp -r ~/MagicMirror ~/MM-Backup.

    Noo! Not a good idea if you’re running on a RPi with small SD card. That is a huge directory: du -sh ./ ~1.3GB, already for a quite small install. You might need that space for the update itself. Never good idea to max out your SD card.

    Rather use tar, and try one of these:

    cd ~
    # remove `v` flag to avoid huge verbose output
    tar --exclude={.git,node_modules} -zcvf MM_BAK.tgz ./MagicMirror
    tar --exclude='node_modules' --exclude='.git' -zcvf MM_BAK.tgz ./MagicMirror
    # This may require you to have the bash shell option globstar' set.
    # Check with: 'shopt -s globstar'
    tar --exclude='**/.git/*' --exclude='**/node_modules/*' -zcvf MM_BAK.tgz ./MagicMirror

    This will avoid getting the huge node_modules and .git directories.
    (You can always git init and reset your git origin url to git fetch from the resp directories if needed to re-instate.)

  • Project Sponsor Module Developer

    if you are using mm as supposed to you only need to backup the config.js and custom.css

Log in to reply