Ask HN: What is bad about Homebrew?
10 points
12 months ago
| 5 comments
| HN
I've seen a number of comments characterizing homebrew, the package manager, as bad but it was usually in an offhand way.

The most annoying thing I've come across recently is that one can't downgrade to an old version (unless there's a specific formula). Htop 3.4. shows CPU usage 40x too small (on macOS) and to fix that I can't use brew.

f30e3dfed1c9
12 months ago
[-]
I found all the beer-related terminology -- cask, keg, rack, Cellar, Caskroom, tap, bottle -- annoying and unhelpful and immediately disliked it back when it was new. I did use it a little for a while but not in a long time.

These days I use pkgin, which I like fine. Can't think offhand of when something I wanted wasn't available there. My impression is that homebrew has many more packages available, but apparently not any that I want.

reply
worldsavior
12 months ago
[-]
Annoying CLI; the things called "casks"; the annoying behavior of updating ALL the packages on your system when installing only one program; and bad handling of broken packages.
reply
comprev
12 months ago
[-]
This tool [0] might help for pinning casks.

[0] https://github.com/buo/homebrew-cask-upgrade

reply
croemer
12 months ago
[-]
Ah, I've started this one already. But htop is a formula not a cask so this doesn't help.
reply
runjake
12 months ago
[-]
It's not perfect, but I like it fine. I definitely like it better than Fink and DarwinPorts, though those may be technically superior.

It's not super simple, but for your htop example, you could probably do something like the following:

  # Create a new tap
  brew tap-new $USER/local-tap

  # Extract the specific version you want
  brew extract --version=X.Y.Z htop $USER/local-tap

  # Install the extracted version
  brew install htop@X.Y.Z
I'm keeping an eye on the unofficial successor by the original author of Homebrew: https://pkgx.dev/
reply
croemer
12 months ago
[-]
Thanks, that almost worked, needed the following (extra --force tap of core and link --overwrite)

  brew tap-new $USER/local-tap
  brew tap homebrew/core --force
  brew extract --version=3.3.0 htop $USER/local-tap
  brew install $USER/local-tap/cmake@3.3.0
  brew link --overwrite htop@3.3.0
Based mostly on https://www.ericbariaux.com/posts/brew_rollback/
reply
runjake
12 months ago
[-]
Thanks. I appreciate the correction!
reply
apineda
12 months ago
[-]
I've been a light user for ~5 years maybe? Never really had issues, it's convenient, if a little obtuse relative to say npm install -g.
reply
cpach
12 months ago
[-]
I’ve used it since ~2013. IMHO it works very well. (Have rarely had the need to downgrade anything.)
reply