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.
Steps to install Homebrew packages from a Brewfile:
- Review the Brewfile that should be installed.
- Brewfile
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.
- Check the Brewfile before installing.
$ 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 - Install the Brewfile dependencies.
$ 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.
- Check the same Brewfile after installation.
$ brew bundle check --file Brewfile The Brewfile's dependencies are satisfied.
- Run a command from one installed formula.
$ 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.
Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.