一文帶你玩轉Homebrew

搜索軟件

brew search [TEXT|/REGEX/] 用於搜索軟件,支持使用正則表達式進行復雜的搜索。git

例如,查詢靜態博客生成工具hugo:github

$ brew search hugo

==> Searching local taps...
hugo ✔
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...
複製代碼

查看安裝的包

查看已經安裝的包正則表達式

brew listsql

查看包相關信息

brew info 能夠查看包的相關信息,最有用的應該是包依賴和相應的命令。好比 Nginx 會提醒你怎麼加 launchctl ,PostgreSQL 會告訴你如何遷移數據庫。這些信息會在包安裝完成後自動顯示,若是忘了的話能夠用這個命令很方便地查看。數據庫

brew info $FORMULA    # 顯示某個包的信息
brew info             # 顯示安裝了包數量,文件數量,和總佔用空間
brew deps 能夠顯示包的依賴關係,我經常使用它來查看已安裝的包的依賴,而後判斷哪些包是能夠安全刪除的。

brew deps --installed --tree # 查看已安裝的包的依賴,樹形顯示
複製代碼

更新 Homebrew

要獲取最新的包的列表,首先得更新 Homebrew 本身。這能夠用 brew update 辦到。緩存

brew update 完後會顯示能夠更新的包列表,其中打鉤的是已經安裝的包。安全

更新包 (formula)

更新以前,我會用 brew outdated 查看哪些包能夠更新。bash

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 services 用於方便的管理 brew 安裝的軟件軟件,相似於 Linux 下的 service 命令。

brew services command:
Integrates Homebrew formulae with macOS' launchctl manager. [sudo] brew services list: List all running services for the current user (or root). [sudo] brew services run (formula|--all): Run the service formula without registering to launch at login (or boot). [sudo] brew services start (formula|--all): Start the service formula immediately and register it to launch at login (or boot). [sudo] brew services stop (formula|--all): Stop the service formula immediately and unregister it from launching at login (or boot). [sudo] brew services restart (formula|--all): Stop (if necessary) and start the service formula immediately and register it to launch at login (or boot). [sudo] brew services cleanup: Remove all unused services. If sudo is passed, operate on /Library/LaunchDaemons (started at boot). Otherwise, operate on ~/Library/LaunchAgents (started at login). 複製代碼

查看配置信息

brew config 用於查看 brew 所在環境及相關的配置狀況

診斷問題

brew doctor 診斷當前 brew 存在哪些問題,並給出解決方案

倉庫管理

brew tap 已安裝的倉庫列表

brew tap [--full] user/repo [URL] 添加倉庫

brew untap tap 移除倉庫
複製代碼

替換homebrew源

替換homebrew默認源

cd "$(brew --repo)"
git remote set-url origin git://mirrors.ustc.edu.cn/brew.git
複製代碼

替換homebrew-core源

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git
複製代碼

homebrew可視化管理工具

若是你不想去記憶那麼多命令,也可使用Cakebrew官網)可視化管理

可以使用以下命令安裝

brew cask install cakebrew
複製代碼

而後你就能夠愉快的使用homebrew啦

homebrew services可視化管理

LaunchRocket 是很是友好的圖形界面,使用起來簡單快捷。好比你使用Homebrew安裝的Mysql、Redis、MongoDB,是讓它自啓動呢,仍是手動啓動,傳統方式須要使用命令行的命令,而使用LaunchRocket則能夠在圖形界面中進行管理了!

安裝方法:

brew tap jimbojsb/launchrocket
brew cask install launchrocket
複製代碼

而後你就能夠在系統設置面板啓動它了

程序界面以下

本文亦在微信公衆號【小道資訊】發佈,歡迎掃碼關注!

image
相關文章
相關標籤/搜索