Bundler para dependências não rouby da Homebrew, Homebrew Cask, Mac App Store, Whalebrew e Código do Visual Studio.
Homebrew (no macOS ou Linux) para instalar dependências.
O Cask Homebrew é opcional e usado para instalar aplicativos Mac.
O MAS-Cli é opcional e usado para instalar aplicativos da Mac App Store.
O Whalebrew é opcional e usado para instalar imagens de Whalebrew.
O código do Visual Studio é opcional e usado para instalar extensões de código do Visual Studio.
brew bundle
é instalado automaticamente quando é executada pela primeira vez.
Consulte a seção brew bundle
da saída da brew generate-man-completions
ou brew bundle --help
.
Um exemplo 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"
O Homebrew é um gerenciador de pacotes de lançamento rolante, para que não suportado instalar versões mais antigas arbitrárias de software. Se o seu software precisar de versões fixas específicas, considere as linhas de whalebrew
em seu Brewfile
para instalar contêineres do Docker.
Após um brew bundle
bem -sucedidas, ele cria um Brewfile.lock.json
para gravar o ambiente. Se um futuro brew bundle
falhar, você poderá verificar as diferenças entre Brewfile.lock.json
para depurar. Como pode conter as informações do ambiente local que variam entre os sistemas, não vale a pena se comprometer com o controle de versões em repositórios multi-usuários.
Desative a geração do arquivo Brewfile.lock.json
, definindo a variável de ambiente com export HOMEBREW_BUNDLE_NO_LOCK=1
ou usando o brew bundle --no-lock
.
Atualmente, brew bundle
suporta Homebrew, Cask Homebrew, Mac App Store, Whalebrew e Código do Visual Studio.
Estamos interessados em contribuições para outros instaladores/damas/dumpers, mas eles devem:
Brewfile
sudo
para instalarNota: Com base nesses critérios, não aceitaríamos o EG Whalebrew (mas não temos planos de removê -lo.)
Os testes podem ser executados com bundle install && bundle exec rspec
. O revestimento de sintaxe pode ser executado com brew style homebrew/bundle
.
Copyright (c) mantenedores de homebrew e Andrew Nesbitt. Consulte a licença para obter detalhes.