7.5 KiB
7.5 KiB
Homebrew
:fa-link: https://docs.brew.sh
Update Homebrew et les formules:
$ brew update
Chercher les M-à-J:
$ brew outdated
# --verbose
Mettre tout à jour:
$ brew upgrade
# --cleanup Met à jour et supprime les anciennes versions installées.
Formules:
Mettre à jour une formule:
$ brew upgrade <formula>
# --cleanup Met à jour et supprime les anciennes versions installées.
Installer une formule:
$ brew install <formula>
$ brew install --verbose --debug <formula>
# --build-from-source Compile la formule depuis la source même si une bottle est disponible. Les dépendances sont installées depuis les bottles.
Installer une formule d’ailleurs la branche:
$ brew install https://raw.github.com/user/repo/branch/formula.rb
Reinstaller une formule depuis les sources:
$ brew reinstall -s <formula>
Desinstaller une formule:
$ brew uninstall <formula>
# --force toutes les versions de la formule seront effacées
# --ignore-dependencies desinstallera même si des dépendances restent installées
Desinstaller les anciennes versions d’une formule:
$ brew cleanup <formula>
# Supprime toutes les anciennes dans la Cellar et dans le Cache.
# --dry-run (ou -n) montre ce qui va être supprimer mais n'enlève rien.
# --prune=days supprime les fichiers du Cache plus vieux que <days> jours.
Desinstaller toutes les anciennes versions:
$ brew cleanup
# (-n ou --dry-run) voir tout ce qui sera désinstaller
Empecher la m-à-j d’un package:
$ brew pin <formula>
bruno@SilverBook:/usr/local/Cellar/terminal-notifier/1.8.0$ brew pin terminal-notifier
Re-permettre la m-à-j:
$ brew unpin <formula>
Liste des formules installées:
$ brew list
# --versions affiche la verion en plus.
# --pinned affiche les formules pinned
Afficher des infos sur une formule installée:
$ brew info <formula>
$ brew info terminal-notifier
terminal-notifier: stable 1.8.0 (bottled), HEAD
Send macOS User Notifications from the command-line
https://github.com/julienXX/terminal-notifier
/usr/local/Cellar/terminal-notifier/1.7.1 (14 files, 2MB)
Poured from bottle on 2016-10-19 at 07:24:46
/usr/local/Cellar/terminal-notifier/1.8.0 (5 files, 99.8KB) *
Poured from bottle on 2017-08-12 at 20:20:48
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/terminal-notifier.rb
==> Requirements
Build: xcode ✔
Required: macOS >= 10.8 ✔
Description d'une formule:
$ brew desc <formula>
$ brew desc httpd
httpd: Apache HTTP server
Afficher les options d'une formule:
$ brew options <formula>
$ brew options php72
--with-argon2
Include libargon2 password hashing support
--with-cgi
Enable building of the CGI executable (implies --without-fpm)
--with-debug
Compile with debugging symbols
# --compact sur une seule ligne
Chercher une formule (avec description):
$ brew search --desc <formula>
$ brew search --desc pdf
briss: Crop PDF files
diff-pdf: Visually compare two PDF files
Activer une autre version:
$ brew switch <formula>
bruno@SilverBook:/usr/local/Cellar/terminal-notifier/1.8.0$ brew switch terminal-notifier 1.7.1
Cleaning /usr/local/Cellar/terminal-notifier/1.7.1
Cleaning /usr/local/Cellar/terminal-notifier/1.8.0
1 links created for /usr/local/Cellar/terminal-notifier/1.7.1
Configurer (arguments) une formule:
$ brew edit <formula>
Afficher la homepage de Homebrew:
$ brew home
Afficher la homepage de la formule:
$ brew home <formula>
Log:
$ brew log <formula>
« keg-only »
La formule est installée dans Cellar. Elle n’est pas linkée dans /usr/local
Pour la linker:
$ brew link
Changer de version de PHP:
$ brew unlink php54 && brew link php53
Dépendances:
Voir les dépendances:
$ brew deps <formula>
$ brew deps httpd
apr
apr-util
boost
c-ares
jansson
jemalloc
libev
libevent
nghttp2
openssl
pcre
# --tree Présentation comme arbre
Montrer les formules installées qui ne sont pas des dépendances d'autres formules installées:
$ brew leaves
Montrer les dépendances manquantes:
$ brew missing
$ brew missing <formula>
Dépendances inverses:
$ brew uses x264 --installed
ffmpeg
Outils:
Vérifier le système:
$ brew doctor
Prune (supprimer les liens symboliques morts):
$ brew prune
# --dry-run
Où va tout ce que télécharge Homebrew (cache):
$ brew --cache
/Users/bruno/Library/Caches/Homebrew
$ cd /Users/bruno/Library/Caches/Homebrew
total 2616544
drwxr-xr-x 92 bruno staff 2944 17 jan 17:19 .
drwx------+ 194 bruno staff 6208 18 jan 18:57 ..
drwxr-xr-x 11 bruno staff 352 18 jan 18:54 Cask
-rw-r--r-- 1 bruno staff 400053 28 oct 08:20 apr-1.6.3.high_sierra.bottle.tar.gz
-rw-r--r-- 1 bruno staff 242481 3 nov 02:01 apr-util-1.6.1_1.high_sierra.bottle.tar.gz
-rw-r--r-- 1 bruno staff 88679443 19 déc 10:23 boost-1.66.0.high_sierra.bottle.tar.gz
-rw-r--r-- 1 bruno staff 3434 16 déc 20:15 brew-pip-0.4.1.tar.gz
-rw-r--r-- 1 bruno staff 12310915 21 nov 13:01 cmake-3.10.0.high_sierra.bottle.tar.gz
Affiche le chemin de Cellar:
$ brew --Cellar
/usr/local/Cellar
$ brew --Cellar httpd
/usr/local/Cellar/httpd
Sauvegarder sa configuration Homebrew:
Liste des packages, taps et casks installés:
$ brew tap Homebrew/bundle
$ brew bundle dump
Ceci crée un fichier Brewfile que l'on peut éditer.
tap 'homebrew/php'
brew 'homebrew/php/php71', args: ['with-imap']
brew 'shpotify'
cask 'spotify'
Restaurer sa configuration:
# Se positionner dans le répertoire contenant le fichier Brewfile
$ brew bundle
Services:
Liste des services gérés par brew services:
bruno@SilverBook:~$ brew services list
Name Status User Plist
mariadb started bruno /Users/bruno/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
php71 started bruno /Users/bruno/Library/LaunchAgents/homebrew.mxcl.php71.plist
httpd started root /Library/LaunchDaemons/homebrew.mxcl.httpd.plist
Lancer au démarrage:
$ brew services start mysql
Démarrer (pas au boot):
$ brew services run mysql
Arrêter le service:
$ brew services stop mysql
Redémarrer le service:
$ brew services restart mysql
Taps (third-party repositories):
:fa-link: brew tap rajoute des repositories à brew
Liste les repos tapped:
$ brew tap
caskroom/cask
homebrew/apache
homebrew/core
homebrew/dupes
homebrew/php
homebrew/services
homebrew/versions
tideways/profiler
vapor/tap
Les tap sont situés là:
bruno@silverbook:/usr/local/Homebrew/Library/Taps$ ls
caskroom homebrew tideways vapor
Ajouter un repo:
$ brew tap <tapname>
Supprimer un repo:
$ brew untap <tapname>