每次重灌 Mac 都要重新找安裝檔,像是在幫電腦辦一場沒有結束日期的搬家。Homebrew 是 macOS 與 Linux 上的套件管理工具,能用指令安裝、更新、移除命令列工具,也能管理許多圖形化應用程式。

這篇會帶你完成安裝、設定 PATH、使用常用指令,並釐清 Homebrew、curl 與 MacPorts 的分工。最後也會介紹如何用 Brewfile 還原環境,以及遇到問題時該從哪裡查起。讀完後,你不必把每個工具的安裝檔藏在「下載」資料夾裡考古。

什麼是 Homebrew

Homebrew 官方把自己定位成「macOS 缺少的套件管理器」。白話一點,它像是命令列版的軟體管理中心:你輸入套件名稱,Homebrew 會下載適合的檔案,處理相依套件,並把內容放到自己的安裝目錄。

為什麼值得用:

  • 用指令安裝與移除,流程容易重複
  • 由套件管理器處理相依套件
  • brew updatebrew upgrade 維護套件
  • 同時支援 Intel 與 Apple Silicon Mac
  • 可用 Brewfile 記錄一組開發工具

為什麼需要 Homebrew

手動安裝的痛點很實際:

  1. 重複勞動:新 Mac 或重灌後,要一個個下載安裝。
  2. 版本難管:哪個工具是哪個版本、放在哪個路徑,容易混亂。
  3. 依賴難解:開發工具常互相依賴,手動補齊很花時間。
  4. 團隊難同步:同事環境不一致,除錯成本高。

Homebrew 把這些收成同一套流程:安裝、更新、清單匯出都能用指令完成,特別適合開發環境與「新機快速還原」。它不是魔法,也不會替你選出最適合的工具;但至少能把重複工作交給一個比較不會抱怨的管家。

如何安裝 Homebrew

先確認需求

依 Homebrew 官方目前的安裝文件,macOS 需要 Apple Silicon 或 64 位元 Intel 處理器、受支援的 macOS,以及 Xcode Command Line Tools(CLT)或完整 Xcode。官方支援範圍會隨時間調整,安裝前最好先查看官方安裝需求,不要只相信多年前的教學文章。

如果尚未安裝 CLT,可以在「終端機」執行:

xcode-select --install

接著依照 macOS 的對話框完成安裝。若你已經安裝 Xcode,通常不需要另外安裝 CLT。

執行官方安裝程式

開啟「終端機」,貼上 Homebrew 官網提供的安裝指令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安裝程式會先說明即將進行的操作,確認後才會繼續。過程中可能要求輸入登入密碼,這是為了完成初始安裝;之後 Homebrew 的預設安裝方式不需要你在每次 brew install 時使用 sudo

安裝後必做:把 brew 加入 PATH

安裝結束後,終端機會顯示 Next steps。請優先照著畫面上的內容操作,因為安裝路徑會依環境而不同。

Apple Silicon 的預設路徑是 /opt/homebrew。如果你使用 zsh,可執行:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

Intel Mac 的預設路徑是 /usr/local,請把指令中的 /opt/homebrew 改成 /usr/localbrew shellenv 不只是加入 PATH,也會輸出 Homebrew 需要的其他環境變數;這比手動拼接路徑可靠。

驗證:

brew --version
which brew

如果看到版本資訊,而且 which brew 顯示的是預期的 Homebrew 路徑,基本設定就完成了。

疑難排解:找不到 brew

最常見的原因是 shell 設定還沒載入,或設定後尚未開新的終端機。先重新執行上方設定,然後開一個新的終端機視窗再試。

如果缺少 CLT,可依 Homebrew 官方建議使用 xcode-select --install,或從 Apple Developer Downloads 下載適合的工具。舊版 macOS 是否支援,請以 Homebrew 官方安裝文件的最新內容為準。

如何使用 Homebrew

搜尋與安裝命令列工具

先搜尋套件名稱,可以避免把相似名稱裝錯:

brew search node
brew info node

確認後再安裝:

brew install git node php python

Formula 通常是命令列工具、函式庫或其他開發套件。套件名稱與可用版本會變動,若清單中的名稱不同,請以 brew search 或套件官方文件為準。

安裝圖形化應用程式(Cask)

Cask 用來描述許多圖形化應用程式。以 Firefox 為例:

brew install --cask firefox

解除安裝:

brew uninstall --cask firefox

macOS 上許多小工具也能用 Cask 安裝。延伸閱讀:提升工作效率的 Mac 工具推薦

更新、升級與檢查

# 更新 Homebrew 的套件資料
brew update

# 查看過期套件
brew outdated

# 升級過期套件
brew upgrade

# 只更新指定套件
brew upgrade node

# 清理不再需要的舊版本與下載快取
brew cleanup

# 檢查常見問題
brew doctor

這幾個指令的順序可以記成:先更新清單,再升級套件,最後視需要清理。不要把 brew doctor 當成「按下去就會自動修好一切」的咖啡機;它主要是提供診斷資訊,請閱讀輸出內容再處理。

查看快取目錄與佔用空間:

brew --cache
du -sh "$(brew --cellar)" "$(brew --cache)"

套件怎麼選

不必照著別人的清單一次裝滿。先從工作需要出發,並用 brew search 查目前可用的名稱:

工作可以先查的方向
版本控制brew search git
JavaScript/前端brew search node
PHP/後端brew search php
圖形化工具brew search --cask <關鍵字>

套件的版本、名稱與維護狀態都可能改變,因此本文不固定列出「某年必裝」清單。今天的神兵利器,明天可能只是昨天的套件;指令不會生氣,但版本會。

更多清單見:Mac 開發者必裝工具

Homebrew vs 其他工具

Homebrew vs curl

先釐清一件事:curl 是用來傳輸資料的命令列工具,Homebrew 是套件管理器。兩者不是同一類工具,也不是二選一;Homebrew 的安裝指令本身就會使用 curl 下載安裝腳本。

如果你已經知道確切的下載網址、檔案格式與安裝位置,curl 很適合下載單一檔案。若要長期管理多個工具、相依套件與升級流程,Homebrew 會更合適。

特點curlHomebrew
角色傳輸或下載資料管理套件
使用方式提供 URL 與選項提供 formula/cask 名稱
相依套件通常由你自行處理由 Homebrew 處理
更新重新取得指定檔案使用 brew upgrade
適合情境單一檔案、腳本下載長期維護開發環境

怎麼選:

  • 偶爾下載單一檔案 → curl
  • 要管理開發環境 → Homebrew

Homebrew vs MacPorts

MacPorts 是另一套 macOS 套件管理器。它用 Portfile 描述套件,預設安裝在 /opt/local,也提供從原始碼安裝與自訂 prefix 的方式。MacPorts 是否使用二進位套件或需要建置,會依 port 與環境而定,因此不宜簡化成「一定從原始碼編譯」。

特點HomebrewMacPorts
套件稱呼Formulae/CasksPorts
預設路徑Apple Silicon:/opt/homebrew;Intel:/usr/local/opt/local
更新套件資料brew updatesudo port selfupdate
升級已安裝套件brew upgradesudo port upgrade outdated
安裝套件brew install <name>sudo port install <name>

想了解 MacPorts 的安裝與使用方式,可以直接閱讀官方指南。如果你已經選定其中一套,通常建議讓它負責自己的環境,避免兩套管理器同時提供相同函式庫而增加排錯難度。

何時考慮 MacPorts: 你需要它的 ports、安裝布局或自訂建置流程,而且願意依照 MacPorts 的工具與目錄管理環境。

何時考慮 Homebrew: 你希望快速安裝常見工具,並用較常見的教學與 Brewfile 管理開發環境。

三種方案怎麼選

工具最適合
curl下載或傳輸單一檔案
Homebrew管理開發環境與多個套件
MacPorts使用 MacPorts ports 或自訂其建置流程

如何在多台 Mac 還原環境

Homebrew Bundle 可以用 Brewfile 描述要安裝的 formula、cask 與其他支援項目。先在來源 Mac 匯出:

brew bundle dump --file=Brewfile

Brewfile 放到目標 Mac 的工作目錄,再執行:

brew bundle --file=Brewfile

這種方式比單純執行 brew list 更適合還原,因為它能記錄 formula 與 cask 等支援的套件類型。匯出前先檢查檔案內容,別把不想同步的工具也一起打包;環境同步不是把整個房間連同咖啡杯都寄過去。

在 Windows 上怎麼辦

Homebrew 官方支援 macOS、Linux 與 WSL;它不是原生 Windows 的一般套件管理器。Windows 使用者可依自己的環境選擇 WinGetChocolatey 等工具。若是在 WSL 中使用 Linux 版 Homebrew,請依 Homebrew 的 Linux 文件操作,不要直接套用 macOS 的安裝路徑。

常見問題

Q:Apple Silicon 可以用嗎? 可以。Homebrew 為 Apple Silicon 提供預設安裝路徑 /opt/homebrew。實際能否安裝某個套件,仍要看該套件與目前 macOS 支援狀態;套件管理器不能替軟體變出不存在的相容版本。

Q:裝完出現 command not found: brew
通常是 shell 設定還沒載入。依照上方「安裝後必做」執行 brew shellenv,開新的終端機後再用 which brew 檢查。

Q:Homebrew 安全嗎?
Homebrew 的安裝程式與套件資訊公開,但這不代表每個第三方來源都值得信任。安裝前可用 brew info <name> 查看資訊,並優先使用你了解來源的 formula 或 cask;不要為了繞過錯誤而關閉檢查。

Q:怎麼解除安裝 Homebrew?

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"

執行前請閱讀卸載程式的提示,並確認是否已備份需要的 Brewfile

Q:可以裝 GUI 應用嗎?
可以,用 Cask:brew install --cask <名稱>

Q:brew installbrew install --cask 有什麼差別? 前者預設安裝 formula,後者明確指定安裝 cask。想安裝 GUI 應用程式時使用 --cask,並以目前 brew search --cask 的結果為準。

Q:可以同時用 Homebrew 和 MacPorts 嗎?
技術上可以,但兩套工具若管理相同函式庫,會增加 PATH、版本與相依性排錯的複雜度。除非你清楚自己為什麼需要兩套,否則選一套當主力比較省事。

結語

Homebrew 的價值不在「多一個指令」,而在把安裝、更新、清理與環境同步收成可重複的流程。先把安裝與 PATH 設好,再養成 brew updatebrew upgradebrew cleanup 的習慣,新機還原與日常維護就會輕鬆很多。

下一步可以看:Mac 開發者必裝工具Warp 終端機教學,或本機 PHP/WordPress 路線的 Laravel Herd。現在可以先開一杯咖啡,讓 brew doctor 替你檢查環境;它不會給建議加糖,但至少會把問題列出來。

參考資料