每次重灌 Mac 都要重新找安裝檔,像是在幫電腦辦一場沒有結束日期的搬家。Homebrew 是 macOS 與 Linux 上的套件管理工具,能用指令安裝、更新、移除命令列工具,也能管理許多圖形化應用程式。
這篇會帶你完成安裝、設定 PATH、使用常用指令,並釐清 Homebrew、curl 與 MacPorts 的分工。最後也會介紹如何用 Brewfile 還原環境,以及遇到問題時該從哪裡查起。讀完後,你不必把每個工具的安裝檔藏在「下載」資料夾裡考古。
目錄
什麼是 Homebrew
Homebrew 官方把自己定位成「macOS 缺少的套件管理器」。白話一點,它像是命令列版的軟體管理中心:你輸入套件名稱,Homebrew 會下載適合的檔案,處理相依套件,並把內容放到自己的安裝目錄。
為什麼值得用:
- 用指令安裝與移除,流程容易重複
- 由套件管理器處理相依套件
- 用
brew update與brew upgrade維護套件 - 同時支援 Intel 與 Apple Silicon Mac
- 可用
Brewfile記錄一組開發工具
為什麼需要 Homebrew
手動安裝的痛點很實際:
- 重複勞動:新 Mac 或重灌後,要一個個下載安裝。
- 版本難管:哪個工具是哪個版本、放在哪個路徑,容易混亂。
- 依賴難解:開發工具常互相依賴,手動補齊很花時間。
- 團隊難同步:同事環境不一致,除錯成本高。
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/local。brew 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 pythonFormula 通常是命令列工具、函式庫或其他開發套件。套件名稱與可用版本會變動,若清單中的名稱不同,請以 brew search 或套件官方文件為準。
安裝圖形化應用程式(Cask)
Cask 用來描述許多圖形化應用程式。以 Firefox 為例:
brew install --cask firefox解除安裝:
brew uninstall --cask firefoxmacOS 上許多小工具也能用 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 會更合適。
| 特點 | curl | Homebrew |
|---|---|---|
| 角色 | 傳輸或下載資料 | 管理套件 |
| 使用方式 | 提供 URL 與選項 | 提供 formula/cask 名稱 |
| 相依套件 | 通常由你自行處理 | 由 Homebrew 處理 |
| 更新 | 重新取得指定檔案 | 使用 brew upgrade |
| 適合情境 | 單一檔案、腳本下載 | 長期維護開發環境 |
怎麼選:
- 偶爾下載單一檔案 → curl
- 要管理開發環境 → Homebrew
Homebrew vs MacPorts
MacPorts 是另一套 macOS 套件管理器。它用 Portfile 描述套件,預設安裝在 /opt/local,也提供從原始碼安裝與自訂 prefix 的方式。MacPorts 是否使用二進位套件或需要建置,會依 port 與環境而定,因此不宜簡化成「一定從原始碼編譯」。
| 特點 | Homebrew | MacPorts |
|---|---|---|
| 套件稱呼 | Formulae/Casks | Ports |
| 預設路徑 | Apple Silicon:/opt/homebrew;Intel:/usr/local | /opt/local |
| 更新套件資料 | brew update | sudo port selfupdate |
| 升級已安裝套件 | brew upgrade | sudo 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 使用者可依自己的環境選擇 WinGet、Chocolatey 等工具。若是在 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 install 和 brew install --cask 有什麼差別? 前者預設安裝 formula,後者明確指定安裝 cask。想安裝 GUI 應用程式時使用 --cask,並以目前 brew search --cask 的結果為準。
Q:可以同時用 Homebrew 和 MacPorts 嗎?
技術上可以,但兩套工具若管理相同函式庫,會增加 PATH、版本與相依性排錯的複雜度。除非你清楚自己為什麼需要兩套,否則選一套當主力比較省事。
結語
Homebrew 的價值不在「多一個指令」,而在把安裝、更新、清理與環境同步收成可重複的流程。先把安裝與 PATH 設好,再養成 brew update → brew upgrade → brew cleanup 的習慣,新機還原與日常維護就會輕鬆很多。
下一步可以看:Mac 開發者必裝工具、Warp 終端機教學,或本機 PHP/WordPress 路線的 Laravel Herd。現在可以先開一杯咖啡,讓 brew doctor 替你檢查環境;它不會給建議加糖,但至少會把問題列出來。
參考資料
- Homebrew Installation:官方安裝需求、安裝路徑與 shell 設定方式。
- Homebrew Documentation:Homebrew 的官方文件入口與各項指令說明。
- Homebrew Bundle and Brewfile:
brew bundle與Brewfile的官方用法。 - Homebrew FAQ:預設安裝路徑、瓶裝套件與常見問題。
- MacPorts Guide:MacPorts 的官方安裝、套件管理與 shell 設定指南。
- curl documentation:curl 官方文件,說明它是傳輸 URL 資料的命令列工具。
- Windows Package Manager (winget) documentation:Microsoft 官方的 Windows 套件管理工具文件。
