---
title: "Mac 上 Homebrew 出现 curl: (28) 超时：修复下载失败 · Kilobat 指南"
url: "https://kilobat.app/zh-hans/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-hans/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-hans/guides/homebrew-npm-download-fails.html): Homebrew 通过 curl 和 Git 下载。
- [Mac 上的“curl: (6) Could not resolve host”](https://kilobat.app/zh-hans/guides/curl-could-not-resolve-host.html): curl 退出码 6 表示 curl 无法获取主机名对应的地址。
- [智能体下载大文件前先检查网络](https://kilobat.app/zh-hans/guides/recipes/check-network-before-download.html): 智能体可以询问 Kilobat 现在是否适合进行大量传输。
- [Mac 上代理设置导致 App 无法连接](https://kilobat.app/zh-hans/guides/proxy-settings-breaking-apps.html): 代理设置会让流量经由另一台服务器转发。
