---
title: "Macでbrew installやnpm installがネットワークエラーで失敗する · Kilobatガイド"
url: "https://kilobat.app/ja/guides/homebrew-npm-download-fails.html"
description: "brew installやnpm installがタイムアウト、プロキシ、証明書のエラーで止まる原因を調べ、ネットワークに必要なプロキシ、ミラー、証明書を設定する方法です。"
---

開発者向け

# MacでHomebrewやnpmのダウンロードが失敗する

HomebrewはcurlとGitでダウンロードします。npmはそのレジストリからダウンロードします。それぞれのツールが独自のプロキシと証明書の設定を読み込みます。

対象：最新のHomebrewとnpm、現在のすべてのmacOS。 · 確認日：2026年10月29日

## 症状

- `brew install`が「curl: (28) … timed out」や「Failed to download resource」で止まります。
- `npm install`がETIMEDOUT、ECONNRESET、または証明書のエラーで止まります。
- 会社のネットワークやVPNでだけダウンロードに失敗します。
- 遅い接続では、ダウンロードが始まってから止まります。

## 考えられる原因

- **ツールが知らないプロキシ。**Homebrewは`http_proxy`、`https_proxy`、`all_proxy`を使います。npmは独自の`proxy`と`https-proxy`の設定か、同じ環境変数を使います。
- **TLSインスペクション。**会社のプロキシが独自の証明書で通信に署名しています。[会社のプロキシ証明書でMacのターミナルツールが動かない](https://kilobat.app/ja/guides/corporate-proxy-certificates.html)を参照してください。
- **npmのレジストリの誤り。**古い`registry`の設定が、アクセスできないサーバを指していることがあります。
- **遅い、または従量制の接続。**Wi-Fiが弱い場合やテザリング中は、大きなダウンロードがタイムアウトすることがあります。

## 確認方法

1. Homebrewにシステムをチェックさせます。

   ```
   brew doctor
   ```
2. Homebrewとシステムの構成を表示します。

   ```
   brew config
   ```
3. npmのレジストリとプロキシの設定を表示します。

   ```
   npm config get registry
   npm config get proxy
   npm config get https-proxy
   ```
4. npmのレジストリに応答を求めます。

   ```
   npm ping
   ```
5. curlでダウンロード先ホストを直接テストします。

   ```
   curl -v -o /dev/null https://formulae.brew.sh/api/formula.json
   ```

## 解決方法

1. プロキシ配下でHomebrewを使う場合は、同じシェルでプロキシ環境変数を設定します。

   ```
   export https_proxy=http://proxy.example.com:8080
   ```
2. プロキシ配下でnpmを使う場合は、npmのプロキシを設定します。

   ```
   npm config set https-proxy http://proxy.example.com:8080
   ```
3. npmがデフォルトを使うように、古いnpmのレジストリ設定を削除します。

   ```
   npm config delete registry
   ```
4. 失敗したダウンロードをHomebrewが再試行する回数を増やします。

   ```
   export HOMEBREW_CURL_RETRIES=5
   ```
5. 会社でミラーを使っている場合は、それを設定します。Homebrewはミラーに`HOMEBREW_BOTTLE_DOMAIN`と`HOMEBREW_API_DOMAIN`を使います。
6. 証明書のエラーの場合は、会社のルート証明書を追加します。[会社のプロキシ証明書でMacのターミナルツールが動かない](https://kilobat.app/ja/guides/corporate-proxy-certificates.html)を参照してください。

## Kilobatを使う場合

1. 大きなインストールの前に、ネットワークが従量制か、VPN経由か、遅いかを確認します。

   ```
   kilobat conditions
   ```
2. ダウンロード先ホストへの接続を止めている層を探します。そのプロセスのプロキシ環境変数を使うには`--app`を付けます。

   ```
   kilobat why https://ghcr.io/v2/homebrew/core --app process:curl
   ```
3. インストール中はMacをスリープさせないようにします。

   ```
   kilobat awake -- brew upgrade
   ```
4. これらのコマンドは無料です。[エージェントで大きなダウンロードの前にネットワークを確認する](https://kilobat.app/ja/guides/recipes/check-network-before-download.html)を参照してください。

## よくある質問

**Homebrewは「システム設定」のプロキシを使いますか？**

Homebrewのドキュメントには、curl、Git、Subversion用のプロキシ環境変数が記載されています。シェルで`https_proxy`を設定してください。

**npmはどれくらい待ちますか？**

npmのドキュメントによると、`fetch-timeout`のデフォルトは300000 ms（5分）、`fetch-retries`は2回です。

## 出典

- [Homebrewドキュメント：Manpage、環境変数](https://docs.brew.sh/Manpage)
- [npmドキュメント：config](https://docs.npmjs.com/cli/v11/using-npm/config)
- curl(1)、macOS 27.2に付属のmanページ

出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」で`man <name>`を実行すると開けます。

## 関連ガイド

- [Macで会社のプロキシ証明書がターミナルのツールを妨げる](https://kilobat.app/ja/guides/corporate-proxy-certificates.html): 会社のネットワークの中には、HTTPSの通信を検査するものがあります。
- [Macでプロキシ設定のせいでアプリが接続できない](https://kilobat.app/ja/guides/proxy-settings-breaking-apps.html): プロキシ設定は、通信を別のサーバ経由で送ります。
- [エージェントで大きなダウンロードの前にネットワークを確認する](https://kilobat.app/ja/guides/recipes/check-network-before-download.html): エージェントは、今が大きな転送に向いたタイミングかどうかをKilobatに確認できます。
- [MacでSSHやGitがタイムアウトする](https://kilobat.app/ja/guides/ssh-git-timeouts.html): SSHとGitには、サーバへの正常なTCP接続が必要です。
- [Macで「npm error code ETIMEDOUT」と表示される](https://kilobat.app/ja/guides/npm-etimedout.html): ETIMEDOUTは、相手側が時間内に応答しなかったことを示します。
