37

I am using Fink to install Unix apps on my mac, I just came across Homebrew and saw some good reviews about Homebrew.

So, my question is:

  1. What package manager do you guys use for Mac?
  2. I use Fink currently, so will the shift from Fink to Homebrew be really worth it?
  3. If 2. is true, then why?
3
  • I moved from Fink to Homebrew, the best thing about homebrew is you can install it anywhere, so no sudo required. Which I personally don't prefer. Any suggestions about macports?
    – zengr
    Jul 2 '10 at 16:36
  • After using brew, I feel there are few packages which are not there. like "meld" is on macports but not on brew.
    – zengr
    Jul 9 '10 at 8:06
  • meld is now offered in brew
    – Antony
    Jul 26 '12 at 19:57
7

I use both Fink and Macports. Both work like a charm.

But I might recommend Homebrew to not so expert user who are just migrating from windows, due to its apparent simplicity.

3
  • 3
    Another vote for Homebrew. Finally a package manager that doesn't feel like installing an entirely new OS.
    – elasticrat
    Nov 21 '10 at 14:21
  • 1
    How can simplicity go against Homebrew for expert user? I never used Fink, but Macports is no brainer, even for newbies
    – Antony
    Jul 26 '12 at 19:58
  • it's 2016, and back around 2010 or so I stopped using fink, because it just stopped working for me. I started using macports, and it still works great. Never tried homebrew, because of its tendency to do weird non-unixy things (philosophically) wrt sudo and /usr/local (in short: installing packages should require sudo, and it shouldn't use /usr/local), and macports might work better for my older macs. So far, my mac acts just like my linux shell, thanks to macports, which is the goal.
    – michael
    Oct 6 '16 at 11:22
18

IMHO, the problem with Homebrew is it tries to use /usr/local in a way it was never meant to be used: owned by a user other than root. While I understand the homebrew developers take care not to munge with anything else in /usr/local, nothing else that installs to /usr/local will do the same for Homebrew. This can cause problems, and has for me... usually permissions issues that result from installing other software that sets permissions on /usr/local/ based on "how they should be". You'll never see another software package expecting /usr/local/ to be owned by a single user other than root, so why does Homebrew? Why not just use ~/bin?

Also, a little known fact about why Fink & MacPorts compile their own libraries:

There are several reasons why MacPorts uses its own libraries. It makes ports more consistent across different versions of Mac OS X. For example, if we can rely on openssl 1.0.0 from MacPorts, we don't have to test every port that needs ssl for every available openssl installation. Apple's software tends to break from time to time (e.g. openssl refuses to build with an old zlib, but for awhile Apple shipped the old headers of the vulnerable zlib version). Even if Apple's versions aren't broken, they're rarely up-to-date. Apple has a habit of not updating the libraries in Mac OS X until absolutely necessitated by a security vulnerability.

The drawbacks of this policy are minimal: Wasting a few megabytes for e.g. a Python installation is next to nothing if you have a multi-gigabyte hard disk, and the time required to build the additional ports decreases as computers get faster.

So while Homebrew is faster to install what you want, it can have other bad side effects from using pre-built Apple system libraries.

Again, I hate to dig against Homebrew. I like the software & I think it's great for some things, but it has it's downfalls as is currently.

14
  • Just run it as root if the permissions have changed? It has happened for me, there's an error message, and I sudoed. What's the problem?
    – Daniel Beck
    Dec 27 '11 at 15:29
  • The problem is according to them, that's not how it's meant to be done. Their "recommended way" is not right.
    – churnd
    Dec 27 '11 at 15:35
  • 8
    No I didn't do it wrong. The practice of having /usr/local owned by a regular user is wrong. You will not see that with any other *nix based software, ever. Every other software package I've seen respects root:wheel ownership of /usr/local. Why even take over /usr/local at all? Why not use /opt/homebrew & link things to /usr/local/bin or /usr/local/lib if you have to (albeit with sudo)? Give the user the choice, but don't break things if they want to keep things separate. Set up their environment accordingly based on their choice. Everything co-exists peacefully. Win-win.
    – churnd
    Dec 27 '11 at 16:09
  • 1
    This is getting silly. I'm commenting one last time & leaving it at that. You're contradicting yourself. The whole point of Homebrew is that it uses pre-existing libraries that OS X already has. Putting what Homebrew installs in ~/bin is functionally no different than /usr/local. The stuff it requires to run (lib, etc, sbin, include) are already in every users environment by default on OS X. That's the "beauty" of it.
    – churnd
    Dec 27 '11 at 20:14
  • 1
    Regarding the filesystem, there isn't a heirarchy standard for BSD systems like FHS I'm aware of. I was merely pointing out that /usr/local is typically not owned by any user other than root. That is true for BSD & Linux alike. OK that was two comments, but only because it went over the limit. FIN.
    – churnd
    Dec 27 '11 at 20:14
15

I prefer homebrew due to its simplicity/speed -- my tools seem to be getting updated quickly at the moment.

It's the most painless source based package management tool I've used and development seems quite active. What more could you want?

(Yes, all the missing apps)

1
  • 1
    Also, editing and fixing formulas is really easy with homebrew.
    – bastibe
    Mar 18 '11 at 13:46

Not the answer you're looking for? Browse other questions tagged or ask your own question.