It's like death by a thousand cuts, only in reverse -- homebrew is lovely crafted with a lot of attention to detail, so it just tends to work pretty well in practice, which was not my experience with MacPorts.
Another nice thing is they try to use the already by-default system-installed versions of libraries whenever possible -- pretty much the first thing that happens when you install any macport is it installs a gazillion dependencies that just mirror what's already on the system. (Or at least it used to be this way; keep in mind my macports knowledge is out of date!)
I also really like that in brew formulas are just ruby files, the package update mechanism is just git pull. It's also super-easy to add your own packages, and tap 3rd party sources for packages.
I do run into trouble sometimes, but it's usually easy to fix, and it happens less often than with other package managers I've used over the years.
(Sort of a taste of why it's nice: Simple things you're likely to want to do are simple:
Q. What packages do I have installed?
A. "brew list"
Q. What packages are out of date?
A "brew outdated"
Q. What's the homepage of package Foo?
A. "brew home foo" (opens in browser)
Q. I need to modify the formula for Foo...
A. "brew edit foo"
Another nice thing is they try to use the already by-default system-installed versions of libraries whenever possible -- pretty much the first thing that happens when you install any macport is it installs a gazillion dependencies that just mirror what's already on the system. (Or at least it used to be this way; keep in mind my macports knowledge is out of date!)
I also really like that in brew formulas are just ruby files, the package update mechanism is just git pull. It's also super-easy to add your own packages, and tap 3rd party sources for packages.
I do run into trouble sometimes, but it's usually easy to fix, and it happens less often than with other package managers I've used over the years.
(Sort of a taste of why it's nice: Simple things you're likely to want to do are simple:
Q. What packages do I have installed? A. "brew list"
Q. What packages are out of date? A "brew outdated"
Q. What's the homepage of package Foo? A. "brew home foo" (opens in browser)
Q. I need to modify the formula for Foo... A. "brew edit foo"
Etc.)