Homebrew is like MacPorts or Fink, except that it actually works
It has come to my attention that some of my dear friends are still using MacPorts or (shudder) Fink to install UNIX packages on OS X.
Please. Stop that.
I’m here to show you a better way.
Meet my friend Homebrew.
Homebrew is a bit like MacPorts or Fink, but a lot more awesome.
Homebrew is built on Git and really simple Ruby “recipes”.
Homebrew installs everything in version-specific isolated folders, then symlinks into /usr/local
where local code really belongs. No more of this /opt business. It’s crazy simple to create your own Homebrew packages, just in case you have to install something from source.
Homebrew compiles an optimized version for your Mac. But sometimes it installs a binary version, if, you know, compiling would take days.
It’s crazy simple to modify existing Homebrew recipes… Because it’s built on Git, any upstream changes can be automatically merged into your custom recipe.
You’re not dependent on a central repo. If you like my recipes, simply git-pull
my repo and install from there.
Homebrew is a good citizen. While MacPorts and Fink play fast and loose with versions and dependencies, often leaving you with multiple copies of the same thing or existing libraries, Homebrew tries really hard not to mess with things that are installed elsewhere.
i.e. You’ll never have to worry about PHP running one version on the CLI and another through Apache.
Homebrew plays nice with ruby gems, easy_install, pear/pecl, CPAN, etc.
Homebrew comes with bash-completion, so you can tab-complete all your package names. That’s pretty hot.
If you don’t like how something is done in Homebrew: fork, clone, commit, push and convince mxcl to accept your changes :)
For usage examples and more documentation, check out the Homebrew website.