Asynchronous formula updates would IMO save the most Mac man-years of almost any macOS tool.
Asynchronous formula updates would IMO save the most Mac man-years of almost any macOS tool.
When is this really a problem, anyway? You should probably not have something like 'brew update' scheduled to run periodically, as then a broken package could break something unexpectedly. It should really only be run when you're ready to check for broken things, which means you can also schedule it to run when you can deal with waiting for the process to complete.
(You also may be confused between `brew update` and `brew upgrade`. I know I often am!)
echo export HOMEBREW_NO_AUTO_UPDATE=1 >> $HOME/.zshrc
I do not think it was a wise decision to enable auto update on `brew install` as long time users expect `brew update` and `brew install` to be two separate steps (as it was for years) and because Homebrew no longer operates like `apt` and other package managers.
Looks like it was changed in 2016: https://github.com/Homebrew/brew/issues/288
Cause otherwise I'm not necessarily going to remember to brew update ever, and am going to be getting old formulae. I think I'm not alone, I suspect this was done because too many users were never updating.
I am not super familair with how apt works, but I think the "workflows" of brew are already different than typical apt uses, with continuous incremental releases, and users expected to stay up to date with them -- things aren't necessarily going to keep working (installing properly) if you never run `brew update`, and I think many users were not.
I do want `brew install` to get me the latest formula for the thing I'm installing.
The problem is when it can add several minutes to a `brew install` invocation, interupting my ability to get on with my business.
But good to know about the env variable so at least I can choose which tradeoff I want!
> If set, do not automatically update before running brew install, brew upgrade or brew tap.
Don't do this if you're attached to specific versions of any formulae you have installed. You can try `brew pin`ning them though.