brew:古いバージョンのパッケージを削除する方法

Homebrewは自分自身を brew にアップグレードします。また、メンテナはbrew cleanupのような日常的に使用するコマンドを実装していないようです。

古いバージョンのソフトウェアを自動的に削除する方法を知っている人はいますか?

$ 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 

コメント

  • '確かに'はbrew cleanです。
  • rm -rf "$(brew --cache)"

回答

必要なコマンドはcleanup -running brew cleanupは、ディスク上にあるがインストールされていないパッケージを削除します。

> 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) 

例:

> 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. 

月曜日の朝のレジメンは次のとおりです。

brew update brew upgrade brew cleanup 

これで、Homebrewの最新情報を入手できます。インストールしたbrewsを削除すると、参照されなくなった古いbrewsを削除して、ディスク領域を解放します。特定のバージョンで保持する必要がある醸造については、brew pinを使用して保持し、この単純な3つのコマンドチェーンを実行して、固定されたパッケージの他のすべてを更新できるようにします。 。

回答

回答ではありませんが、コメントするには長すぎます。これは、維持するための体制として使用するコードです。最新の醸造:

 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 } 

ターミナルから呼び出すことができるように~/.bash_profileに保存していますその場で関数名として。

コメント

  • 少なくともbrewバージョン1.5.12の時点では、brew cask updateは無効になっています。 Error: Calling 'brew cask update' is disabled! Use 'brew update' instead.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です