Intel-era Mac?
Homebrew can accidentally end up configured to do this in a number of ways. Some of these may no longer be issues; this list is from memory and should be taken with a grain of salt:
- You might be running an outdated homebrew.
- You might have homebrew checked out as a git checkout, thus missing "brew update" abilities. "brew doctor" will report on this.
- You might have "inherited" your Homebrew install from a prior Mac (e.g. via disk clone or Time Machine), or from the brief transitional period where Homebrew was x86-via-Rosetta on ARM macs, thus leaving your brew in a situation where it can't find prebuilt packages ("bottles") for what it observes as a hybrid/unique platform. Tools, including your shell, which install Homebrew for you might install it as the wrong (rosetta-emulated) architecture if any process-spawning part of the tool is an x86-only binary. More details on a similar situation I found myself in are here: https://blog.zacbentley.com/post/dtrace-macos/
- (I'm pretty sure most issues in this area have been fixed, but) you might have an old or "inherited" XCode or XCode CLT installation. These, too, can propagate from backups. Removing Homebrew, uninstalling/reinstalling XCode/CLT, and reinstalling Homebrew can help with this.
- The HOMEBREW_ARCH, HOMEBREW_ARTIFACT_DOMAIN, HOMEBREW_BOTTLE_DOMAIN, or other environment variables may be set in your shell such that Homebrew either thinks the platform doesn't have bottles available or it shouldn't download them: https://docs.brew.sh/Manpage#environment
- Perhaps obvious, but your "brew" command might be invoked such that it always builds from source, e.g. via a shell alias.
- Homebrew may be unable to access the bottle repository (https://ghcr.io/v2/homebrew/core/), either due to a network/firewall issue or a temporary outage.
Noob me has had to troubleshoot homebrew. Like keeping laptop and desktop in sync. Like fixing stuff I've somehow borked.
So I tried a handful of GUIs (wrappers). Like these two top hits:
But sort of bounced off.
Noob friendly homebrew seems like such a great idea. I especially want just one strategy which spans both utils and apps (casks). Versus cobbling together Apple App Store, SetApp, and homebrew.
Those GUIs would be even more useful if they spotted and explained the config issues you listed. (I have no idea if "brew doctor" suffices.)
(If you care, "brew deps <package> --tree" will tell you.)
eza
└── libgit2
├── libssh2
│ └── openssl@3
│ └── ca-certificates
└── openssl@3
└── ca-certificatesThere's (generally) 4 types of dependencies:
- Toolchains (frameworks, compilers)
- Build (headers and libraries)
- Runtime (libraries)
- Test (frameworks, headers, libraries)
And those dependencies all bring their own dependencies... $ brew deps --include-build eza
autoconf
automake
ca-certificates
cabal-install
certifi
cmake
ghc
ghc@9.8
libgit2
libssh2
llvm@18
lz4
m4
mpdecimal
ninja
openssl@3
pandoc
pkg-config
python@3.11
python@3.12
readline
rust
sphinx-doc
sqlite
xz
zstd