Skip to content
mikemcquaid edited this page Sep 25, 2012 · 200 revisions

The suggested and easiest way to install Homebrew is on the homepage. We don’t duplicate it here because it is a security risk to list it on a user-editable wiki.

The standard script installs Homebrew to /usr/local so that you don’t need sudo when you brew install. It is a careful script, it can be run even if you have stuff installed to /usr/local already. It tells you exactly what it will do before it does it too. And you have to confirm everything it will do before it starts.

There are other ways to install Homebrew which provide you with more flexibility. They are listed below the requirements.

Requirements

1 Not all formulae have CPU or OS requirements, but you can assume you will have trouble if you don’t conform. Also, you can find PowerPC and Tiger branches from other users in the fork network. See Interesting Taps & Branches.

2 10.6 or higher is recommended. 10.5 is supported on a best-effort basis.

3 Most formulae require a compiler. But not all of them. The command line tools are just as good as Xcode for Homebrew and take up far less disk-space, so get those unless you already have Xcode installed. Yes, you do need an Apple ID to download the packages, sorry about that. If you install Xcode from the App Store, the Command Line Tools are now an optional installation. You’ll need to enable them under Preferences > Downloads.

If you want to build applications using X11 you must have either Apple’s X11.app or the more up-to-date XQuartz package installed.

If you want to build Java bindings (in software such as Subversion, Berkeley-DB, CMake, etc.) Apple’s “Java Developer Update” is required. The latest versions are “Update 10” for 10.5 and “Update 9” for 10.6.

Alternate Installs

Untar anywhere

Just extract 4 (or git clone) Homebrew wherever you want. Just avoid:

  • Directories with spaces in them because build scripts are dumb and can’t handle spaces.
  • /sw and /opt/local because build scripts get confused when Homebrew is there instead of Fink or MacPorts, respectively.

However do yourself a favor and install to /usr/local. Some things may not build when installed elsewhere. One of the reasons Homebrew just works relative to the competition is because we recommend installing to /usr/local. Pick another prefix at your peril!

4 Here’s a one-liner:

mkdir homebrew && curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C homebrew

Untar anywhere and then symlink the brew command elsewhere

You can also install Homebrew into e.g. ~/Developer (or ~/.homebrew) and then symlink the brew command into /usr/local/bin (eg. ln -s path/to/homebrew/bin/brew /usr/local/bin/brew).

Everything will install into ~/Developer, but your brew command is still in the path. NOTE that Homebrew will still need to create symlinks into /usr/local or nothing will work! But the actual files are installed to ~/Developer/Cellar.

Multiple installations

Create a Homebrew installation wherever you extract the tarball. Whichever brew command is called is where the packages will be installed. You can use this as you see fit, e.g. a system set of libs in /usr/local and tweaked formulae for development in ~/homebrew.

Let’s say you are developing an app that must distribute Taglib. Add Homebrew as a git submodule for your project and then make Xcode $PROJECT_ROOT/homebrew/bin/brew install taglib as part of the build process. This way you can easily build Taglib, tweak its build options as you like (brew edit taglib) and let the Homebrew community worry about keeping Taglib up to date for you.

Corporate Installs

If you use Homebrew at your company, you probably have your own fork with modifications relevant to your coworkers. Fortunately it is very easy to make Homebrew use a company fork rather than mxcl’s. Just change the origin remote of the git clone and Homebrew will continue to use that origin instead of the normal one. It is then up to you to update your fork as often as you see fit so that updates propagate. Feel free to fork the installation script to make it install your fork by default.

Uninstallation

Uninstallation is documented in the FAQ.