brew: jak usunąć przestarzałą wersję pakietu

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

  • I ' na pewno ' s tylko brew clean.
  • rm -rf "$(brew --cache)"

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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *