Hi all, thanks for the replies.
Would you be adverse […] to automatically update
brew every day or so?
While I applaud the pragmatic nature of this approach, I would prefer to supervise the process so I can be aware of what was updated.
Chances are due to Xcode/macOS updates installing old versions won’t work.
Totally understandable. I’m not questioning the motivations that led to this design, just the implementation.
~5 minutes every couple of months does not seem like a large amount of time to wait.
In the grand scheme of things, you’re right about this.
man brew explains how to do this.
Thanks for pointing this out. I found the following:
Note that environment variables must have a value set to be detected. For example, run export HOMEBREW_NO_INSECURE_REDIRECT=1
rather than just export HOMEBREW_NO_INSECURE_REDIRECT.
If set, Homebrew will not auto-update before running brew install, brew upgrade or brew tap.
I would not advise it and we will not fix any issues you encounter with it set.
I understand that I’m on my own with this path, I accept that risk.
If I were to restate my original point, it would be that auto-updating is not a behavior I am expecting when trying to install a package. For example: In other package managers I’m familiar with such as
apt, updating the package manager and package lists are separate, manual and hopefully conscious actions. When running
brew install, I am not expecting that I am also running other update processes along with that command.
In my opinion, the
brew install command should go as far as checking and making the user aware that there are updates available. Here’s an example direct from the Bundler gem often used in Ruby (including by Homebrew!)
Warning: the running version of Bundler is older than the version that created the lockfile. We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
The user is made aware they are running out-of-date software and it is up to them to determine the best course of action for their needs. Isn’t user control the end goal after all?