ก่อ: วิธีการลบแพคเกจรุ่นที่ล้าสมัย


15

การอัพเกรดตัวเองเพื่อ Homebrew ชง 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

2
brew cleanผมค่อนข้างมั่นใจว่ามันเป็นเพียงแค่
At0mic

คำตอบ:


27

คำสั่งที่คุณต้องการคือcleanupกำลังรันอยู่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 อย่างเต็มที่จากนั้นผู้ผลิตเบียร์ที่ฉันติดตั้งทั้งหมดแล้วก็จะเพิ่มพื้นที่ว่างในดิสก์โดยการลบผู้ผลิตเบียร์เก่าที่ไม่ได้อ้างอิงอีกต่อไป สำหรับผู้ผลิตเบียร์ที่ฉันต้องการเก็บในเวอร์ชันเฉพาะฉันใช้brew pinเพื่อเก็บไว้ที่นั่นดังนั้นฉันยังสามารถเรียกใช้คำสั่งสามคำสั่งที่เรียบง่ายนี้เพื่อเชื่อมต่อทุกอย่างรอบแพคเกจที่ปักหมุดไว้


1

ไม่ใช่คำตอบ แต่นานเกินไปสำหรับความคิดเห็นนี่เป็นรหัสที่ฉันใช้เป็นระบบการปกครองเพื่อทำให้การชงของฉันทันสมัยอยู่เสมอ:

    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ดังนั้นฉันสามารถเรียกมันจาก Terminal เป็นชื่อฟังก์ชั่นได้ทันที


1
อย่างน้อยที่สุดของ Brew เวอร์ชัน 1.5.12 brew cask updateจะถูกปิดการใช้งาน Error: Calling 'brew cask update' is disabled! Use 'brew update' instead.
dotnetCarpenter
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.