Homebrew 你應該定期更新

2021-08-18 05:26:03 字數 2263 閱讀 6250

為什麼這麼做:

更容易發現不需要的包,便於清理,不為不需要的東西買單。

定期清理舊版本,釋放空間。

brew update
完後會顯示可以更新的包列表,其中打鉤的是已經安裝的包。輸出類似下面這樣

updated homebrew from fe93aa3 to 6ae64c3.

updated 1 tap (homebrew/versions).

==> updated formulae

awscli cmake ✔ homebrew/versions/libmongoclient-legacy

更新包

更新之前,我會用

brew outdated

檢視哪些包可以更新

brew outdated
然後就可以用

brew upgrade

去更新了。

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 # 檢視已安裝的包的依賴,樹形顯示
輸出如下:

elixir (required dependencies)

└── :erlang

wxmac (required dependencies)

├── jpeg

├── libpng

│ └── xz

└── libtiff

└── jpeg

5個原因促使你必須定期更新部落格

本篇文章就解決乙個問題,為什麼我們需要經常更新自己的部落格?是否經常有新的文章出現在自己的部落格上,這個是很重要的。最為簡單的答案就是 你的部落格需要經常更新。通過更新你的部落格,你可以得到更多的訪問瀏覽量以及對訪客對你部落格更多的建議。訪客在訪問你的部落格的時候,他們可能會喜歡您的一些文章,至少這...

更換Homebrew的更新源

更換homebrew的更新源的教程,在網上數不勝數,然內容大多大同小異且述之不詳,且未提及版本上的差異。故作此文,以正視聽。在閱讀此文之前,你需要了解homebrew和git並安裝了它們。並且對於homebrew官方更新源的速度趕到不滿且不打算利用其它手段解決 如vpn 或者看了其它文章感到不求甚解...

Homebrew關閉自動更新

每次使用homebrew安裝其他外掛程式的時候,預設每次都會自動更新homebrew,顯示updating homebrew.明明是剛剛安裝的homebrew,或者已經是最新的homebrew了,但每次都還會更新,非常耗費時間,特別是網路不好的時候就更加讓人煩躁了。export homebrew n...