A Brewfile records a Homebrew package set as entries that Homebrew Bundle can apply on another machine or project workspace. Teams use it when a replacement workstation, CI runner, or shared development environment needs the same formulae without repeating individual brew install commands.
Homebrew Bundle reads the Brewfile in the current directory unless --file or --global points it somewhere else. The install command applies the declared state and upgrades outdated dependencies by default, so the same file can both fill missing packages and refresh packages that are already present.
Review the file before installing on an existing workstation because Brewfiles can include taps, casks, services, and other supported dependency types in addition to formulae. Add --no-upgrade when the install should focus on missing entries, then use brew bundle check against the same file to confirm that Homebrew now satisfies the recorded state.
brew "hello"
The hello formula is small and provides a command that prints a short message. Formula-only Brewfiles are the most portable across macOS, Linux, and WSL; keep platform-specific entries only in files for hosts that support them.
$ brew bundle check --file Brewfile brew bundle can't satisfy your Brewfile's dependencies. Satisfy missing dependencies with `brew bundle install`.
A failed check means at least one entry is missing or outdated. Use --verbose to list unmet dependencies before installation.
Related: How to check a Brewfile with Homebrew Bundle
$ brew bundle install --file Brewfile Installing hello `brew bundle` complete! 1 Brewfile dependency now installed.
brew bundle install upgrades outdated dependencies by default. Add --no-upgrade when already installed entries should not be actively upgraded; Homebrew may still install or update dependencies that are required to satisfy a formula.
$ brew bundle check --file Brewfile The Brewfile's dependencies are satisfied.
$ hello Hello, world!
For a larger Brewfile, use a command, app launch, service check, or package listing that belongs to one of the installed entries.