Homebrew si aggiorna a brew . E sembra che i manutentori non abbiano implementato alcuni comandi di uso quotidiano come brew cleanup
.
Quindi qualcuno sa come eliminare automaticamente la versione obsoleta del software?
$ brew Example usage: brew search [TEXT|/REGEX/] brew (info|home|options) [FORMULA...] brew install FORMULA... brew update brew upgrade [FORMULA...] brew uninstall FORMULA... brew list [FORMULA...] Troubleshooting: brew config brew doctor brew install -vd FORMULA Brewing: brew create [URL [--no-fetch]] brew edit [FORMULA...] https://github.com/Homebrew/brew/blob/master/share/doc/homebrew/Formula-Cookbook.md Further help: man brew brew help [COMMAND] brew home
Commenti
Risposta
Il comando che desideri è cleanup
– in esecuzione brew cleanup
rimuoverà i pacchetti che sono sul disco, ma non più installati.
> brew help cleanup brew cleanup [--prune=days] [--dry-run] [-s] [formulae]: For all installed or specific formulae, remove any older versions from the cellar. In addition, old downloads from the Homebrew download-cache are deleted. If --prune=days is specified, remove all cache files older than days. If --dry-run or -n is passed, show what would be removed, but do not actually remove anything. If -s is passed, scrubs the cache, removing downloads for even the latest versions of formulae. Note downloads for any installed formulae will still not be deleted. If you want to delete those too: rm -rf $(brew --cache)
Ad esempio:
> brew cleanup Removing: /usr/local/Cellar/awscli/1.10.19... (2,955 files, 22.3M) Removing: /usr/local/Cellar/git/2.8.2... (1,418 files, 30.5M) Removing: /usr/local/Cellar/imagemagick/6.9.3-7... (1,459 files, 17.9M) Removing: /usr/local/Cellar/libgcrypt/1.7.0... (17 files, 1.5M) Removing: /usr/local/Cellar/libgpg-error/1.21... (19 files, 419.4K) Removing: /usr/local/Cellar/libksba/1.3.3... (13 files, 343K) Removing: /usr/local/Cellar/mercurial/3.7.3... (386 files, 4.7M) Removing: /usr/local/Cellar/node/6.0.0... (3,655 files, 38.8M) Removing: /usr/local/Cellar/openssl/1.0.2g... (1,678 files, 12.0M) Removing: /usr/local/Cellar/vim/7.4.1795... (1,687 files, 22.6M) Removing: /Library/Caches/Homebrew/git-2.8.2.el_capitan.bottle.tar.gz... (11.2M) Removing: /Library/Caches/Homebrew/imagemagick-6.9.3-7.el_capitan.bottle.tar.gz... (7M) Removing: /Library/Caches/Homebrew/libgcrypt-1.7.0.el_capitan.bottle.tar.gz... (565.4K) Removing: /Library/Caches/Homebrew/libgpg-error-1.21.el_capitan.bottle.tar.gz... (130.8K) Removing: /Library/Caches/Homebrew/libksba-1.3.3.el_capitan.bottle.tar.gz... (126.6K) Removing: /Library/Caches/Homebrew/node-6.0.0.el_capitan.bottle.tar.gz... (10.9M) Removing: /Library/Caches/Homebrew/openssl-1.0.2g.el_capitan.bottle.tar.gz... (3.6M) Removing: /Library/Caches/Homebrew/vim-7.4.1795.tar.gz... (12.0M) ==> This operation has freed approximately 196.4M of disk space.
Ho un regime del lunedì mattina di:
brew update brew upgrade brew cleanup
Questo mi aggiorna su Homebrew, quindi tutto delle mie birre installate e poi libera spazio su disco rimuovendo le vecchie birre che non sono più referenziate. Per le birre che devo mantenere in una versione specifica, uso brew pin
per tenerle lì in modo da poter ancora eseguire questa semplice catena a tre comandi per aggiornare tutto il resto intorno ai pacchetti aggiunti .
Risposta
Non una risposta, ma troppo lunga per un commento, questo è il codice che uso come regime per mantenere la mia birra aggiornata:
fullBrewUpdate(){ brew update brew cask update casks=( $(brew cask list) ) for cask in ${casks[@]} do # in the first line there is version current="$(brew cask info $cask | sed -n "1p" | sed -n "s/^.*: \(.*\)$/\1/p")" installed=( $(ls /opt/homebrew-cask/Caskroom/$cask)) if (! [[ " ${installed[@]} " == *" $current "* ]]); then (set -x; brew cask install $cask --force;) fi done brew upgrade brew cleanup }
Lho salvata nel mio ~/.bash_profile
così posso chiamarla da Terminale come nome della funzione al volo.
Commenti
- Almeno a partire dalla versione brew 1.5.12,
brew cask update
è disabilitato.Error: Calling 'brew cask update' is disabled! Use 'brew update' instead.
brew clean
.rm -rf "$(brew --cache)"