Recs.
Updated
HomeBrew (the command is named brew, when you type it in at the terminal) is not just one power tool, it's instant (or nearly instant) access to a huge repository of open source software.
SpecsUpdate
Pros
Pro Easy to setup and use
Once installed, you control Homebrew using the brew command. You can find packages using brew search, install them using brew install and remove them using brew uninstall.
Pro Unintrusive
Homebrew installs packages to their own directory and then symlinks their files into /usr/local
. Homebrew won’t install files outside its prefix, and you can place a Homebrew installation wherever you like.
Pro Does not require using sudo
One of the things to like about Homebrew is that it refuses to run things under sudo
most of the time. This is a great policy, but it causes issues when you want to create symlinks or install in places that SIP has changed permissions on.
Pro Tool for easily finding packages available
Braumeister is an easy to use online tool used for browsing Homebrew packages.
Pro Requires less maintenance than Macports
Macports seems to be able to get into a bad state where new packages are unable to be installed, or installed software was unable to be updated. This simply hasn't happened with Homebrew. In addition to not having to deal with corruption problems, Homebrew installs packages in userland. Not requiring root to install software is a big win.
Pro Less maintenance than Macports
Macports seems to be able to get into a bad state where new packages are unable to be installed, or installed software was unable to be updated. This simply hasn't happened with Homebrew. In addition to not having to deal with corruption problems, Homebrew installs packages in userland. Not requiring root to install software is a big win.
Cons
Con May cause issues when trying to create symlinks or installing in places where SIP has changed permissions
One of the things to like about Homebrew is that it refuses to run things under sudo
most of the time. This is a great policy, but it causes issues when you want to create symlinks or install in places that SIP has changed permissions on. (Alternatively, you could install Homebrew somewhere other than /usr/local
, but that might break various packages that depend on having stuff in and relative to /usr/local/
.)
Con Annoying for updates
Super annoying for upgrades when OS X updates or when some formulas do. It's a pretty janky system (perhaps the formula's problems more than homebrew itself), despite being super convenient. There are many occasions where you simply don't want to upgrade things out of fear of wasting hours fixing things.
Con Command line tools for XCode required
Once xcode is installed you can install Homebrew, including new(er)/different versions of most of the build stuff that xcode-select installed, like a newer gcc, newer git, etc.
Con Does not require 'sudo' but DOES require user to be in sudo list of users
While this is a pro for some people, for others it's a con, especially in terms of security. If your users are non-administrators then they will not be able to run the full homebrew command because most programs prompt for sudo creds to add the application to the application folder which non-admin users cannot do.
Con "Casks" often must be updated manually (e.g. Firefox, Transmission)
This contradicts the need for a package manager.
Con Does not support El Capitan
A large number of perfectly good Apple machines are blocked from upgrading past El Capitan. Because Homebrew has begun to break under El Cap, its usefulness is significantly diminished.
Recommendations
Comments
Flagged Pros + Cons
Con Command line tools for Xcode required
Homebrew requires either the Xcode Command Line Tools or a full installation of Xcode.