Skip to content

Comment on I Used Arch, BTW: macOS, Day 1parent

Comments

As someone for whom Nix and MacPorts are a bit too much of a chore, I find that three things massively improve the Homebrew user experience:

1. If you do Python development, use “uv” or any other Python interpreter-management tool which uses precompiled Python installations from a reputable source. This removes the pain of sorting out compile dependencies for Python itself, as well as solving the “unrelated brew install command trashed all my Python virtualenvs” issue. Whether you use uv or some other Python-version-manager, I hope we can all agree that Brew-managed Python for development, as well as pyenv-compiled Python, are just garbage. As a bonus, “uv” gives you decent reproducibility on a lot of other platforms, if you ever want to develop or share your software to someone on a different version of MacOS or a different OS.

2. ‘export HOMEBREW_NO_AUTO_UPDATE=1’ in all your profiles to turn off the automatic updating of unrelated dependencies. That feature is so stupid. Yes, even given security issues and changing system deps.

3. Keep MacOS updated to current minus one point version, and make sure to fully uninstall/reinstall XCode/XCode CLT every time you update MacOS, and then check “brew doctor” every time you do. I’ve had far too many “brew decides to build from source” situations that boil down to Homebrew detecting my OS or build chain as not up to date with the last 6 months of MacOS updates, or lacking prebuilt artifacts for a very recently-released version.

None of this is a defense or indictment of Homebrew itself. I’m not commenting on whether or not this should be necessary (lord knows I’ve updated into plenty of MacOS misfeature releases just to get Homebrew working again). These are just relatively easy steps that allowed me to forget Homebrew build/install issues entirely.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.