Bundler para dependencias no rubas de Homebrew, HomeBrew Cask, Mac App Store, Whalebrew y Visual Studio Code.
Homebrew (en MacOS o Linux) para instalar dependencias.
HomeBrew Cask es opcional y se usa para instalar aplicaciones Mac.
MAS-CLI es opcional y se usa para instalar aplicaciones de Mac App Store.
Whalebrew es opcional y se usa para instalar imágenes ballenas.
El código de Visual Studio es opcional y se usa para instalar extensiones de código Visual Studio.
brew bundle
se instala automáticamente cuando se ejecuta por primera vez.
Consulte la sección brew bundle
of the brew generate-man-completions
Outple o brew bundle --help
.
Un ejemplo de Brewfile
:
# 'brew tap'
tap "homebrew/cask"
# 'brew tap' with custom Git URL
tap "user/tap-repo" , "https://[email protected]/user/homebrew-tap-repo.git"
# 'brew tap' with arguments
tap "user/tap-repo" , "https://[email protected]/user/homebrew-tap-repo.git" , force_auto_update : true
# set arguments for all 'brew install --cask' commands
cask_args appdir : "~/Applications" , require_sha : true
# 'brew install'
brew "imagemagick"
# 'brew install --with-rmtp', 'brew link --overwrite', 'brew services restart' on version changes
brew "denji/nginx/nginx-full" , link : :overwrite , args : [ "with-rmtp" ] , restart_service : :changed
# 'brew install', always 'brew services restart', 'brew link', 'brew unlink mysql' (if it is installed)
brew "[email protected]" , restart_service : true , link : true , conflicts_with : [ "mysql" ]
# install only on specified OS
brew "gnupg" if OS . mac?
brew "glibc" if OS . linux?
# 'brew install --cask'
cask "google-chrome"
# 'brew install --cask --appdir=~/my-apps/Applications'
cask "firefox" , args : { appdir : "~/my-apps/Applications" }
# bypass Gatekeeper protections (NOT RECOMMENDED)
cask "firefox" , args : { no_quarantine : true }
# always upgrade auto-updated or unversioned cask to latest version even if already installed
cask "opera" , greedy : true
# 'brew install --cask' only if '/usr/libexec/java_home --failfast' fails
cask "java" unless system "/usr/libexec/java_home" , "--failfast"
# 'mas install'
mas "1Password" , id : 443_987_910
# 'whalebrew install'
whalebrew "whalebrew/wget"
# 'vscode --install-extension'
vscode "GitHub.codespaces"
Homebrew es un administrador de paquetes de lanzamiento enrollable, por lo que no admite la instalación de versiones arbitrarias de software. Si su software necesita versiones fijadas específicas, considere las líneas whalebrew
en su Brewfile
para instalar contenedores Docker.
Después de una exitosa ejecución brew bundle
, crea un Brewfile.lock.json
para grabar el entorno. Si una futura ejecución brew bundle
falla, puede verificar las diferencias entre Brewfile.lock.json
para depurar. Como puede contener información del entorno local que varía entre los sistemas, no vale la pena comprometerse con el control de versiones en repositorios de usuarios múltiples.
Deshabilite la generación del archivo Brewfile.lock.json
configurando la variable de entorno con export HOMEBREW_BUNDLE_NO_LOCK=1
o utilizando el brew bundle --no-lock
.
brew bundle
actualmente es compatible con el código casero, barril de cerveza casera, Mac App Store, Whalebrew y Visual Studio Code.
Estamos interesados en contribuciones para otros instaladores/damas/dumpers, pero deben:
Brewfile
sudo
para instalarNota: Según estos criterios, no aceptaríamos, por ejemplo, ballena (pero no tenemos planes de eliminarlo).
Las pruebas se pueden ejecutar con bundle install && bundle exec rspec
. La pelusa de sintaxis se puede ejecutar con brew style homebrew/bundle
.
Copyright (c) Homebrew Manteners y Andrew Nesbitt. Vea la licencia para más detalles.