---
title: "Homebrewでcurl: (28)のタイムアウト：Macでダウンロードの失敗を直す · Kilobatガイド"
url: "https://kilobat.app/ja/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. ネットワークでプロキシが必要な場合は、同じシェルで設定します。

   ```
   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`で実行します。[1つのサイトやAPIに接続できない原因を見つける](https://kilobat.app/ja/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/ja/guides/homebrew-npm-download-fails.html): Homebrewはcurlとgitでダウンロードします。
- [Macで「curl: (6) Could not resolve host」と表示される](https://kilobat.app/ja/guides/curl-could-not-resolve-host.html): curlの終了コード6は、curlがホスト名のアドレスを取得できなかったことを示します。
- [エージェントで大きなダウンロードの前にネットワークを確認する](https://kilobat.app/ja/guides/recipes/check-network-before-download.html): エージェントは、今が大きな転送に向いたタイミングかどうかをKilobatに確認できます。
- [Macでプロキシ設定のせいでアプリが接続できない](https://kilobat.app/ja/guides/proxy-settings-breaking-apps.html): プロキシ設定は、通信を別のサーバ経由で送ります。
