I feel like it would be a /tremendous/ amount of work to install packages -- which often have dependencies -- asynchronously.
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.
Homebrew now runs `brew update` before every `brew install`, no? That's how it gets in the way, you just wanted to install a thing, and now you are stuck waiting for `brew update` -- which I feel takes longer than it used to?
(You also may be confused between `brew update` and `brew upgrade`. I know I often am!)
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.
It makes sense semantically to me, and would be fine/preferable if `brew update` only took a few seconds to complete.
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!
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.