Homebrew uaktualnia się do brew . Wygląda na to, że opiekunowie nie zaimplementowali niektórych codziennie używanych poleceń, takich jak brew cleanup
.
Więc ktoś wie, jak automatycznie usunąć nieaktualną wersję oprogramowania?
$ 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
Komentarze
Odpowiedź
Polecenie, które chcesz, to cleanup
– uruchamianie brew cleanup
usunie pakiety, które są na dysku, ale nie są już zainstalowane.
> 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)
Na przykład:
> 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.
Mam poniedziałkowy poranny schemat:
brew update brew upgrade brew cleanup
To daje mi aktualne informacje o Homebrew, a potem wszystko moich zainstalowanych naparów, a następnie zwalnia miejsce na dysku, usuwając stare napary, do których nie ma już odniesień. W przypadku naparów, które muszę zachować w określonej wersji, używam brew pin
, aby je tam przechowywać, aby nadal móc uruchomić ten prosty łańcuch z trzema poleceniami, aby zaktualizować wszystko inne wokół przypiętych pakietów .
Odpowiedź
To nie jest odpowiedź, ale za długi na komentarz, to jest kod, którego używam jako reżimu aktualny napar:
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 }
Zapisałem go w moim ~/.bash_profile
, więc mogę zadzwonić z terminala jako nazwa funkcji w locie.
Komentarze
- Co najmniej od wersji brew 1.5.12,
brew cask update
jest wyłączone.Error: Calling 'brew cask update' is disabled! Use 'brew update' instead.
brew clean
.rm -rf "$(brew --cache)"