Skip to content
jacknagel edited this page Jul 3, 2012 · 202 revisions

Paste this at a shell prompt:

/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"

Read the script first if you like.

The 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.

Requirements

1 Not all brews 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 tree. See Interesting Branches.

2 Most formula 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 Lines Tools are now an optional installation. You’ll need to enable them under Preferences > Downloads.

3 Some formulae require X11 libraries. Homebrew supports both Apple’s X11 distribution and the more up-to-date XQuartz package.

4 Homebrew itself does not depend on Java. However software that tries to build Java bindings (Subversion, Berkeley-DB, Cmake, etc.) require Apple’s “Java Developer Update”. The latest versions are “Update 10” for 10.5 and “Update 5” 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. 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.

Clone this wiki locally