Bundler users define dependencies for Ruby applications in a Gemfile and install those dependencies by running bundle install.
Homebrew users can define dependencies for their OS X operating system with a
Brewfile and install those dependencies by running
brew bundle. Let’s write
# Brewfile install openssl # a comment link --force openssl
Note that Homebrew will treat lines that start with
# as comments. Every other
line will be passed to
brew. So this:
install openssl # a comment link -f openssl
is run as these commands:
brew install openssl brew link --force openssl
I can think of a few places where a
Brewfile would be welcome:
- In dotfiles, either yours or your company’s. For example, we use it in our excellent dotfiles repo.
- A setup script for your app (
bundle install && brew bundle)
- A setup script for a new machine. I often forget to install one of them (like rbenv-gem-rehash).
It’s a neat encapsulation for non-programming-language dependencies like