我希望在浪費兩小時排除 Homebrew 問題前就知道的事

更新 發佈閱讀 14 分鐘
raw-image

上週二,為了給寫作提供測試環境,我決定在 MacBook 上創建新用戶安裝 Homebrew。聽說這是 Mac 開發者的「必備工具」,安裝過程看起來很簡單——複製一行指令、貼到終端機、等幾分鐘就好。簡單吧?

三十分鐘後,我盯著 brew: command not found 錯誤訊息發呆。一小時後,我不小心用 sudo 把整個設定搞壞,正拼命在 Google「如何修復 Homebrew 權限」。到第二小時,我開始質疑人生,懷疑自己為什麼要走上這條不歸路。

最令人沮喪的是什麼?我遇到的每個問題都完全可以避免。這些都是成千上萬初學者每天會犯的錯誤,而且只要你知道該注意什麼,都有簡單的解決方法。

如果你剛裝完 Homebrew 但它不能用,或者你現在正深陷排錯地獄,這篇文章會幫你省下好幾個小時。我要分享我犯過的 5 個關鍵錯誤,讓你不必重蹈覆轍。


錯誤 #1:沒有把 Homebrew 加入 PATH

症狀:你成功安裝 Homebrew,但輸入 brew install git 卻出現 brew: command not found

這是初學者最常遇到的問題,特別是如果你用的是 Apple Silicon Mac(M1、M2、M3 或 M4)。

為什麼會發生:

在 Intel Mac 上,Homebrew 會安裝到 /usr/local/bin,這個位置已經在系統的 PATH 裡。你的終端機知道要去那裡找指令,所以一切自動運作。

在 Apple Silicon Mac 上,Homebrew 會安裝到 /opt/homebrew/bin。這個位置預設不在 PATH 裡。當你輸入 brew 時,你的終端機根本不知道要去哪裡找。

安裝過程中,Homebrew 會顯示訊息告訴你要把它加入 PATH。但這訊息埋在一大堆安裝文字裡,大部分人(包括我)都會略過。

兩分鐘內的解決方法:

把這兩行複製到終端機,每行輸入後按 Enter:

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

eval "$(/opt/homebrew/bin/brew shellenv)"

這會做什麼:第一行把 Homebrew 永久加入你的 shell 設定檔。第二行立即啟用它,不用重啟終端機。

驗證是否成功:

brew --version

如果看到 Homebrew 4.x.x,就成功了。如果沒有,完全關閉終端機(Command + Q)再重新打開。

專業建議:這只有 Apple Silicon Mac 需要。如果你用的是較舊的 Intel Mac 但 brew 還是不能用,問題在別的地方——跳到錯誤 #2。


錯誤 #2:對 Homebrew 使用 sudo(致命錯誤)

症狀:你看到「Permission denied」錯誤訊息,決定在指令前加上 sudo。看起來有用⋯⋯直到一切崩壞。

這是我最後悔的錯誤。花了我一個小時才修好。

初學者為什麼會這樣做:

在 Linux 上,當你看到權限錯誤,通常會加上 sudo 以管理員身分執行指令。對有點 Unix 經驗的人來說,這是肌肉記憶。

所以當 Homebrew 顯示權限錯誤,你的本能反應是:「啊,我需要管理員權限。來試試 sudo brew install git。」

為什麼這是災難性的:

Homebrew 是設計成不需要 sudo 就能運作。當你使用 sudo,你會建立由 root(超級使用者)擁有的檔案和目錄,而不是你的使用者帳號。

現在你的 Homebrew 安裝一部分屬於你,一部分屬於 root。未來的 Homebrew 指令會失敗,因為它們無法修改 root 擁有的檔案。錯誤就像雪球一樣越滾越大。

我花了 45 分鐘修復權限問題,都是因為一個 sudo brew 指令。

鐵律:

# ❌ 永遠不要這樣做:

sudo brew install gitsudo brew updatesudo 任何-brew-指令# ✅ 永遠這樣做:

brew install gitbrew update

如果你已經用了 sudo,這樣修復:

sudo chown -R $(whoami) /opt/homebrew/*

這會把所有 Homebrew 檔案的擁有權重設回你的使用者帳號。然後執行 brew doctor(詳見錯誤 #3)來驗證一切都修好了。

我希望有人早告訴我:Homebrew 能優雅地管理自己的權限。如果你看到權限錯誤,代表你的設定已經出問題了——不是說你需要 sudo。正確的第一步永遠是 brew doctor,不是 sudo


錯誤 #3:忽略 brew doctor 警告

症狀:Homebrew 有時能用但會出現奇怪的錯誤。軟體安裝了但執行不正常。你不確定是真的壞了還是只是怪怪的。

為什麼會發生:

大部分初學者不知道 Homebrew 內建診斷工具。他們通常是 Google 錯誤訊息 30 分鐘後才發現 brew doctor

就算執行了看到警告,如果東西看起來還能用,很容易就忽略它們。我就這樣做過。那些警告感覺像建議,不像必須遵守的規則。

它們不是建議。

預防性的解決方法:

brew doctor

這單一指令能診斷 90% 的 Homebrew 問題。它會檢查你的安裝、找出問題,並確切告訴你如何修復。

你可能會看到什麼:

警告:「You have unlinked kegs in your Cellar」

  • 意思:套件已安裝但在 PATH 中無法存取
  • 修復:brew link <套件名稱>

警告:「You have not agreed to the Xcode license」

  • 意思:需要接受 Apple 的命令列工具授權
  • 修復:sudo xcodebuild -license 然後輸入「agree」

警告:「Config scripts exist outside your system」

  • 意思:你有來自其他套件管理器的衝突安裝
  • 修復:遵循 Homebrew 提供的特定指示

何時執行 brew doctor:

  • 安裝 Homebrew 後立即執行
  • 安裝任何複雜套件後(如 Python 或 Node.js)
  • 任何時候有東西運作不如預期
  • 每月作為維護例行工作的一部分

如果 brew doctor 說「Your system is ready to brew」,就沒問題。如果沒有,請閱讀每個警告並依序修復。不要跳過任何一個。

我希望早知道:在我嘗試各種 Stack Overflow 解法之前先執行 brew doctor,就能直接指出 PATH 問題,省下我兩小時。


錯誤 #4:不了解 Formulae 和 Casks 的差異

症狀:Error: No available formula with the name "visual-studio-code",即使你知道 VSCode 可以透過 Homebrew 安裝。

或者你安裝了某個東西但找不到它在哪裡或如何啟動。

為什麼會發生:

Homebrew 有兩種套件類型:

Formulae 是會被編譯和安裝的命令列工具。例如:gitpythonwgetnode

Casks 是下載為預先建置的應用程式的 GUI 應用程式。例如:visual-studio-codefirefoxslackzoom

指令語法不同,初學者經常忘記 --cask 標記。

解決方法:

命令列工具(formulae):

brew install git

brew install pythonbrew install wget

GUI 應用程式(casks):

brew install --cask visual-studio-code

brew install --cask firefoxbrew install --cask slack

如何檢查你需要哪一種:

brew search visual-studio-code

輸出會顯示它在「Formulae」還是「Casks」下。如果顯示 Casks,你需要 --cask 標記。

經驗法則:如果你想要有圖形介面、通常放在「應用程式」資料夾裡的東西,幾乎都需要 --cask。命令列工具永遠不需要。

我希望早知道:我浪費了 15 分鐘試著不用 --cask 安裝 VSCode,一直以為套件名稱錯了。一個簡單的 brew search 就能告訴我需要什麼。


錯誤 #5:跳過 Caveats(注意事項)

症狀:軟體成功安裝,但當你試著使用它,什麼都沒發生。或者它能用但不如預期。

為什麼會發生:

安裝套件後,Homebrew 會顯示「Caveats」——重要的安裝後指示。這些通常包括:

  • 把工具加入 PATH 的指令
  • 如何啟動服務(如資料庫)
  • 使用前需要的設定步驟
  • 版本特定的警告

初學者看到一大堆文字,以為是選擇性的,就關掉終端機。或者他們不會往上捲回去讀 50 行前印出的內容。

如果忽略就會出問題的 caveat 範例:

==> Caveats

To start mysql now and restart at login:  brew services start mysqlOr, if you don't want to run it as a service:

  mysql.server start

如果你不執行其中一個指令,MySQL 已安裝但沒有執行。你會得到「connection refused」錯誤,以為安裝失敗了。

解決方法:

每次安裝後,往上捲並閱讀 caveats。真的逐字閱讀。如果它叫你執行指令,就執行它。

事後查看 caveats:

brew info <套件名稱>

這會顯示套件資訊,包括所有 caveats,即使你幾小時前就關掉終端機了。

我希望早知道:那些 caveats 不是建議或參考資訊。它們是必要步驟,才能讓軟體真正運作。把它們當作安裝說明,不是選讀內容。


額外錯誤:忘記更新

症狀:你知道存在的套件顯示「formula not found」錯誤。或者你安裝了有已知安全問題的過時版本。

為什麼會發生:

Homebrew 的套件定義存在 Git 儲存庫中。隨時間過去,你本機上的會變得過時。新套件看不到,版本資訊也過期了。

解決方法:

brew update

安裝任何新東西之前執行這個。需要 5-30 秒,會更新 Homebrew 本身加上所有套件定義。

養成習慣:每週更新作為維護例行工作的一部分:

brew update && brew upgrade && brew cleanup

這會更新定義、升級所有已安裝的套件,並移除舊版本以釋放磁碟空間。


五分鐘排錯檢查清單

當 Homebrew 不能用時,依序執行這些指令:

1. Homebrew 在你的 PATH 裡嗎?

which brew

2. 有什麼問題?

brew doctor# 3. 套件定義是最新的嗎?

brew update# 4. 這個套件可用嗎?

brew search <套件名稱>5. 檢查擁有權(Apple Silicon)

ls -la /opt/homebrew | head

90% 的時候,brew doctor 會找出確切的問題並告訴你如何修復。


關鍵重點

兩小時的排錯教會我,五分鐘的準備就能避免的事:

  • 把 Homebrew 加入 PATH(Apple Silicon Mac 需要手動設定)
  • 永遠不要對 Homebrew 指令使用 sudo(會永久破壞權限)
  • 先執行 brew doctor,再 Google(診斷優於絕望)
  • **GUI 應用程式要用 --cask**(VSCode、Firefox、Slack 都需要這個標記)
  • 每次都要讀 caveats(它們是必要步驟,不是選項)

模式總是一樣的:跳過設定說明 → 忽略警告 → 花好幾小時排錯本來幾分鐘就能預防的問題。

下一步:

  1. 現在就執行 brew doctor(即使東西看起來能用)
  2. 把這篇文章加入書籤,遇到問題時用
  3. 閱讀官方 Homebrew 文件以更深入理解

你犯過最大的 Homebrew 錯誤是什麼?我很想知道你是否遇過這些問題,或發現我遺漏的其他陷阱。在下方留言吧。

留言
avatar-img
Leon Wong 282
4會員
23內容數
Hi,我是 Leon Wong(亮之)——電腦科學與開發愛好者,也是 Notion 重度使用者。如果你想更高效地學習與創作,這裡會是你的實用資源。
Leon Wong 282的其他內容
2025/10/26
完整解析 SQL GROUP BY 的 5 大常見錯誤,包含錯誤範例、正確寫法和實戰練習。掌握 WHERE 與 HAVING 的差異、COUNT 函數的正確用法、NULL 值處理技巧,以及 SQL 執行順序的關鍵概念。適合想提升 SQL 查詢能力的初學者和進階學習者。
Thumbnail
2025/10/26
完整解析 SQL GROUP BY 的 5 大常見錯誤,包含錯誤範例、正確寫法和實戰練習。掌握 WHERE 與 HAVING 的差異、COUNT 函數的正確用法、NULL 值處理技巧,以及 SQL 執行順序的關鍵概念。適合想提升 SQL 查詢能力的初學者和進階學習者。
Thumbnail
2025/10/26
你知道 SQL 的 COUNT() 其實有三種用法嗎?COUNT(*)、COUNT(欄位) 和 COUNT(DISTINCT 欄位) 會給出完全不同的結果。本文用實際範例教你在每種情況下該用哪一種,避免資料分析出錯。適合 SQL 初學者和想打好基礎的開發者閱讀。
Thumbnail
2025/10/26
你知道 SQL 的 COUNT() 其實有三種用法嗎?COUNT(*)、COUNT(欄位) 和 COUNT(DISTINCT 欄位) 會給出完全不同的結果。本文用實際範例教你在每種情況下該用哪一種,避免資料分析出錯。適合 SQL 初學者和想打好基礎的開發者閱讀。
Thumbnail
2025/10/25
剛裝好 VS Code 卻不知道怎麼設定?這 7 個內建設定只要 5 分鐘,就能讓你避免程式碼遺失、排版混亂、眼睛疲勞等新手常見問題。不需要任何擴充套件,立即提升寫程式體驗。
Thumbnail
2025/10/25
剛裝好 VS Code 卻不知道怎麼設定?這 7 個內建設定只要 5 分鐘,就能讓你避免程式碼遺失、排版混亂、眼睛疲勞等新手常見問題。不需要任何擴充套件,立即提升寫程式體驗。
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News