brew: làm thế nào để xóa phiên bản cũ của gói


15

Homebrew nâng cấp chính nó để sản xuất bia . Và có vẻ như các nhà bảo trì đã không thực hiện một số lệnh được sử dụng hàng ngày như thế nào brew cleanup.

Vì vậy, có ai biết làm thế nào để tự động xóa phiên bản phần mềm lỗi thời?

$ 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

2
Tôi khá chắc chắn rằng nó chỉ brew clean.
At0mic

Câu trả lời:


27

Lệnh bạn muốn là cleanup- chạy brew cleanupsẽ loại bỏ các gói trên đĩa, nhưng không còn được cài đặt.

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

Ví dụ:

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

Tôi có một chế độ sáng thứ hai về:

brew update
brew upgrade
brew cleanup

Điều đó mang lại cho tôi cập nhật trên Homebrew, sau đó tất cả các loại bia được cài đặt của tôi và sau đó nó giải phóng không gian đĩa bằng cách loại bỏ các loại bia cũ không còn được tham chiếu. Đối với các loại bia mà tôi cần giữ ở một phiên bản cụ thể, tôi sử dụng brew pinđể giữ chúng ở đó để tôi vẫn có thể chạy chuỗi ba lệnh đơn giản này để cập nhật mọi thứ khác xung quanh các gói được ghim.


1

Không phải là một câu trả lời, nhưng quá dài cho một nhận xét, đây là mã tôi sử dụng như một chế độ để giữ cho bia của tôi được cập nhật:

    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
    }

Tôi có nó được lưu trong tôi ~/.bash_profileđể tôi có thể gọi nó từ Terminal là tên hàm khi đang di chuyển.


1
Ít nhất là phiên bản bia 1.5.12, brew cask updatebị vô hiệu hóa. Error: Calling 'brew cask update' is disabled! Use 'brew update' instead.
dotnetCarpenter 28/03/18
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.