-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
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.
- An Intel CPU 1
- OS X 10.5 or higher 2
- Command Line Tools for Xcode or Xcode 3
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.
A few formulae require X11 libraries. Homebrew supports both Apple’s X11 distribution and the more up-to-date XQuartz package.
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 9” for 10.6.
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
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
.
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.
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 is documented in the FAQ.