Homebrew更新
mac升級的時候要更新brew,不然一些依賴庫會不能使用
更新 Homebrew
brew update
更新包
更新之前,先查看哪些包可以更新。
brew outdated
Homebrew 會安裝新版本的包,但舊版本仍然會保留。
brew upgrade # 更新所有的包 brew upgrade $FORMULA # 更新指定的包
一般情況下,新版本安裝了,舊版本就不需要了。用brew cleanup 清理舊版本和緩存文件。Homebrew 只會清除比當前安裝的包更老的版本,所以不用擔心有些包沒更新但被刪了。
brew cleanup # 清理所有包的舊版本 brew cleanup $FORMULA # 清理指定包的舊版本 brew cleanup -n # 查看可清理的舊版本包,不執行實際操作
鎖定不想更新的包
如果經常更新的話,brew update 一次更新所有的包是非常方便的。但我們有時候會擔心自動升級把一些不希望更新的包更新了。數據庫就屬於這一類,尤其是 PostgreSQL 跨 minor 版本升級都要遷移數據庫的。我們更希望找個時間單獨處理它。這時可用 brew pin 去鎖定這個包,然后 brew update 就會略過它了。
brew pin $FORMULA # 鎖定某個包 brew unpin $FORMULA # 取消鎖定
其他幾個常用命令
brew info 可以查看包的相關信息,最有用的應該是包依賴和相應的命令。比如 Nginx 會提醒你怎么加 launchctl ,PostgreSQL 會告訴你如何遷移數據庫。這些信息會在包安裝完成后自動顯示,如果忘了的話可以用這個命令很方便地查看。
brew info $FORMULA # 顯示某個包的信息 brew info # 顯示安裝了包數量,文件數量,和總占用空間
brew deps 可以顯示包的依賴關系,我常用它來查看已安裝的包的依賴,然后判斷哪些包是可以安全刪除的。
brew deps --installed --tree # 查看已安裝的包的依賴,樹形顯示
輸出如下:
gcc ├── gmp ├── libmpc │ ├── gmp │ └── mpfr │ └── gmp ├── mpfr │ └── gmp └── isl └── gmp gdbm git gmp isl └── gmp libmpc ├── gmp └── mpfr └── gmp
