Usage
Arguments
One or more formula names to install. Supports regular formulas and casks (prefixed with
cask:).Examples: jq, wget, git, cask:docker-desktopOptions
Install the formula but skip linking it into the prefix directory. The formula will be installed in the store but won’t be available in your PATH.Useful when you want to install a formula without making it immediately available.
Alias:
-sBuild the formula from source instead of using pre-built bottles. This compiles the package locally using Homebrew’s Ruby DSL.Note: Source builds take significantly longer than installing bottles.Environment:
ZEROBREW_ROOTOverride the root directory for zerobrew’s content-addressable store.Environment:
ZEROBREW_PREFIXOverride the prefix directory where packages are linked.Default:
20Number of concurrent operations to perform during installation. Must be at least 1.Alias:
--yesEnvironment: ZEROBREW_AUTO_INITAutomatically initialize zerobrew if not already set up.Examples
Install a single package
Install multiple packages
Install without linking
zbx jq.
Build from source
Install a cask
Performance
zerobrew uses several optimizations to speed up installations:- Content-addressable storage: Shared dependencies are deduplicated
- APFS clonefiles: Zero-overhead copying on compatible filesystems
- Concurrent downloads: Multiple packages downloaded in parallel
- Warm cache: Previously downloaded bottles are reused
- Cold cache (first install): 2-4x faster
- Warm cache (reinstall): 7-30x faster
Error Handling
Link conflicts
If a file already exists in the prefix directory, zerobrew will report a link conflict:- Uninstalling the conflicting package with Homebrew
- Using
--no-linkand running withzbxinstead - Manually removing the conflicting symlink
Formula not found
If a formula doesn’t exist or isn’t supported:Related Commands
zb bundle- Install packages from a Brewfilezb uninstall- Uninstall packageszb list- List installed packageszb run- Run a package without linking it