How I avoid outdated brew formulas
You have 70 outdated formulae installed.
Does this sound familiar?
If you're like me, actively thinking about keeping dependencies up to date is not part of your daily routine. For me, it's more like fire and forget. I need some software, then I run brew install xxx
to get it. Most of the time, that's when I realise
"shit, there are a lot of outdated dependencies. I should keep an eye on this more often".
Today was one of those days, but instead of manually running brew update
and brew upgrade
, I wanted to have some automation for this, so that I don't have to think about upgrading software in the future. As I suspected, the solution wasn't far away...
Brew autoupdate
I found the brew autoupdate project, which does exactly what I want.
Run brew upgrade
on a schedule. Yayy 😃
I followed the instructions to tap the formula
brew tap homebrew/autoupdate
and then start the autoupdate
brew autoupdate start 43200 --upgrade --cleanup --immediate
This will run brew upgrade
and brew cleanup
every 12 hours. The --immediate
tells the autoupdater to start immediately.
That's it, now I don't have to worry about outdated versions of the brew-managed software I use.
Other software I use
I run MacOS. Software downloaded from the App Store is automatically installed after enabling automatic updates from the App Store's settings.
Most other manually installed software offers an in-app auto-update process, which I usually use.
Wrapping it up
To be honest, I'm not terribly worried about running outdated software via brew on my Mac, as I'm very confident that it's not a security issue or a threat to any network or server I'm connected to. However, having the latest versions, including security fixes, and not having to worry about the update process is a good thing.
NOTE: This is different with MacOS system updates. I always run the latest version and install security updates as soon as they're available. I consider the security of the system more important than any software on my computer that can't be accessed from the outside.
That being said, I hope you found this article useful and that you learned something new.
If you have any questions or feedback, didn't understand something, or found a mistake, please send me an email or drop me a note on twitter / x. I look forward to hearing from you.
Consider subscribing to my blog if you'd like to receive future articles directly in your email. If you're already a subscriber, thank you 🙏