Bundler pour les dépendances non routières de Homebrew, Homebrew Cask, Mac App Store, Whalebrew et Visual Studio Code.
Homebrew (sur macOS ou Linux) pour l'installation de dépendances.
Homebrew Cask est facultatif et utilisé pour installer des applications Mac.
MAS-CLI est facultatif et utilisé pour installer des applications Mac App Store.
Whalebrew est facultatif et utilisé pour installer des images de whalebrew.
Le code Visual Studio est facultatif et utilisé pour installer des extensions de code Visual Studio.
brew bundle
est automatiquement installé lors de l'exécution pour la première fois.
Voir la section brew bundle
du brew generate-man-completions
Output ou brew bundle --help
.
Un exemple 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 est un gestionnaire de packages de version roulante afin qu'il ne prenne pas en charge l'installation de versions arbitraires plus anciennes du logiciel. Si votre logiciel a besoin de versions épinglées spécifiques, envisagez des lignes whalebrew
dans votre Brewfile
pour installer des conteneurs Docker.
Après une course à succès brew bundle
, il crée un Brewfile.lock.json
pour enregistrer l'environnement. Si une future exécution brew bundle
échoue, vous pouvez vérifier les différences entre Brewfile.lock.json
pour déboguer. Comme il peut contenir des informations sur l'environnement local qui varient entre les systèmes, il ne vaut pas la peine de s'engager dans le contrôle des versions sur les référentiels multi-utilisateurs.
Désactivez la génération du fichier Brewfile.lock.json
en définissant la variable d'environnement avec export HOMEBREW_BUNDLE_NO_LOCK=1
ou en utilisant l'argument de la ligne de commande brew bundle --no-lock
.
brew bundle
prend actuellement en charge Homebrew, Homebrew Cask, Mac App Store, Whalebrew et Visual Studio Code.
Nous sommes intéressés par les contributions pour d'autres installateurs / dames / bousculades, mais ils doivent:
Brewfile
sudo
s'installeRemarque: Sur la base de ces critères, nous n'accepterions pas par exemple Whalebrew (mais nous n'avons pas l'intention de le supprimer.)
Les tests peuvent être exécutés avec bundle install && bundle exec rspec
. La lignée de syntaxe peut être exécutée avec brew style homebrew/bundle
.
Copyright (c) Homebrew Haiders et Andrew Nesbitt. Voir la licence pour plus de détails.