查看安裝的包
查看已經安裝的包
brew list
更新 Homebrew
要獲取最新的包的列表,首先得更新 Homebrew 自己。這可以用 brew update 辦到。
brew update
完后會顯示可以更新的包列表,其中打鉤的是已經安裝的包。
更新包 (formula)
更新之前,我會用 brew outdated 查看哪些包可以更新。
brew outdated
然后就可以用 brew upgrade 去更新了。Homebrew 會安裝新版本的包,但舊版本仍然會保留
brew upgrade # 更新所有的包
brew upgrade $FORMULA # 更新指定的包
清理舊版本
新版本安裝了,舊版本就不需要了。我會用 brew cleanup 清理舊版本和緩存文件。Homebrew 只會清除比當前安裝的包更老的版本,所以不用擔心有些包沒更新但被刪了。
brew cleanup # 清理所有包的舊版本
brew cleanup $FORMULA # 清理指定包的舊版本
brew cleanup -n # 查看可清理的舊版本包,不執行實際操作
現在該更新的都更新了,舊版本也被清理。
對于Homebrew來說,如果沒有卸載掉軟件包的所有版本,那么Homebrew會繼續嘗試安裝這個軟件包的最新版本。要想徹底卸載某個軟件包,需要執行命令:
brew uninstall formula_name --force
鎖定不想更新的包
如果經常更新的話,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 # 查看已安裝的包的依賴,樹形顯示