---
title: "Mac 上 Homebrew 出現 curl: (28) 逾時：修正下載失敗 · Kilobat 指南"
url: "https://kilobat.app/zh-hant/guides/homebrew-curl-28-timed-out.html"
description: "Mac 上的 brew install 或 brew update 因 curl: (28) 而停止。找出下載逾時的原因，並設定重試、代理伺服器或鏡像站。"
---

錯誤訊息

# Mac 上的 Homebrew 失敗並顯示「curl: (28)」

Homebrew 用 curl 下載。curl 結束代碼 28 代表逾時。curl 文件的說明是：「The specified time-out period was reached.」（已達到指定的逾時時間）

適用於：目前的 Homebrew，所有目前的 macOS 版本。 · 檢查日期：2026年10月29日

## 症狀

- `brew install` 因 `curl: (28)` 而停止，接著顯示時間已到的訊息。
- Homebrew 表示無法下載某個資源。
- 在慢速網路、VPN 或公司網路上下載失敗。

## 可能原因

- **連線緩慢或會掉封包。**在微弱的 Wi-Fi 或熱點上，大型 bottle 會下載逾時。
- **curl 沒有使用代理伺服器。**Homebrew 使用 `http_proxy`、`https_proxy` 和 `all_proxy`。
- **防火牆丟棄流量。**網路若丟棄連到下載主機的連線，就會造成逾時。
- **IPv6 路徑故障。**下載主機有 IPv6 位址，但 IPv6 無法使用。

## 如何檢查

1. 讓 Homebrew 檢查你的系統。

   ```
   brew doctor
   ```
2. 用 curl 測試下載主機，僅限 IPv4。

   ```
   curl -4 -I https://ghcr.io/v2/
   ```
3. 顯示代理伺服器環境變數。

   ```
   env | grep -i proxy
   ```
4. 測量連線。

   ```
   networkQuality
   ```

## 如何修正

1. 讓 Homebrew 多試幾次。預設重試 3 次。

   ```
   export HOMEBREW_CURL_RETRIES=5
   ```
2. 如果網路需要代理伺服器，在同一個 shell 中設定。

   ```
   export https_proxy=http://proxy.example.com:8080
   ```
3. 如果公司有鏡像站，設定 `HOMEBREW_BOTTLE_DOMAIN` 和 `HOMEBREW_API_DOMAIN`。
4. 可以的話，在較快的網路上再執行一次指令。

## 使用 Kilobat

1. 檢查網路是否為計量網路、是否在 VPN 上，或是否很慢。

   ```
   kilobat conditions
   ```
2. Kilobat 的連線診斷會逐層測試主機：網路、代理伺服器、DNS、規則、IPv4、IPv6、TLS 和伺服器，並指出失敗的是哪一層。

   ```
   kilobat why https://ghcr.io/v2/
   ```
3. 安裝期間讓 Mac 保持喚醒。

   ```
   kilobat awake -- brew upgrade
   ```
4. 這些 Kilobat 檢查都是免費的。AI 代理程式可透過 MCP 以 `diagnose_connection` 和 `diagnose_network` 執行。請參閱[找出某個網站或 API 連不上的原因](https://kilobat.app/zh-hant/guides/recipes/why-cant-it-connect.html)。

## 常見問題

**curl 錯誤 28 是什麼？**

它是 `CURLE_OPERATION_TIMEDOUT`。curl 的 man 手冊頁將結束代碼 28 列為操作逾時。

## 資料來源

- [curl：libcurl error codes](https://curl.se/libcurl/c/libcurl-errors.html)
- curl(1) 的 EXIT CODES，macOS 27.2 內建的 man 頁面
- [Homebrew 文件：Manpage，環境變數](https://docs.brew.sh/Manpage)
- brew(1)，HOMEBREW_CURL_RETRIES，Homebrew 安裝的 man 手冊頁

資料來源檢查日期：2026年10月29日。man 頁面為 macOS 內建版本；在終端機中用 `man <name>` 開啟。

## 相關指南

- [Mac 上的 Homebrew 或 npm 下載失敗](https://kilobat.app/zh-hant/guides/homebrew-npm-download-fails.html): Homebrew 使用 curl 和 Git 下載。
- [Mac 上的「curl: (6) Could not resolve host」](https://kilobat.app/zh-hant/guides/curl-could-not-resolve-host.html): curl 結束代碼 6 表示 curl 無法取得主機名稱的位址。
- [在 AI 代理程式執行大型下載前檢查網路](https://kilobat.app/zh-hant/guides/recipes/check-network-before-download.html): AI 代理程式可以詢問 Kilobat，現在是否適合進行大型傳輸。
- [代理伺服器設定讓 Mac 上的 App 無法連線](https://kilobat.app/zh-hant/guides/proxy-settings-breaking-apps.html): 代理伺服器設定會讓流量經由另一台伺服器傳送。
