エラーメッセージ
Macで「npm error code ETIMEDOUT」と表示される
ETIMEDOUTは、相手側が時間内に応答しなかったことを意味します。Node.jsのドキュメントには「the connected party did not properly respond after a period of time.」(接続先が一定時間後も適切に応答しなかった)とあります。
症状
npm installがnpm error code ETIMEDOUTで止まる。- npmが、ネットワーク接続に関する問題だと付け加える。
- 会社のネットワークやテザリングなど、特定のネットワークで失敗する。
考えられる原因
- npmが知らないプロキシ。プロキシが必要なネットワークでは、npmに
proxyとhttps-proxyの設定が必要です。 - 到達できないレジストリ。古い
registryの設定が、プライベートサーバを指していることがあります。 - 遅い、またはパケットロスの多い接続。弱いWi-Fiやテザリングでは、大きなパッケージがタイムアウトします。
- 壊れたIPv6の経路。レジストリにはIPv6アドレスがありますが、使っているネットワークではIPv6が機能していません。
確認方法
npmのレジストリとプロキシの設定を表示します。
npm config get registry npm config get proxy npm config get https-proxyレジストリに応答を求めます。
npm pingIPv4のみで、curlを使ってレジストリをテストします。
curl -4 -I https://registry.npmjs.org/接続を測定します。
networkQuality
解決方法
ネットワークでプロキシが必要な場合は、npmに設定します。
npm config set https-proxy http://proxy.example.com:8080古いレジストリ設定を削除して、npmがデフォルトを使うようにします。
npm config delete registry遅い接続では、npmの再試行回数を増やします。
npm config set fetch-retries 5可能であれば、より速いネットワークでもう一度インストールします。
Kilobatを使う場合
Kilobatの接続ドクターは、レジストリへの接続をネットワーク、プロキシ、DNS、ルール、IPv4、IPv6、TLS、サーバの層ごとにテストし、失敗した層を特定します。
kilobat why https://registry.npmjs.org/大きなインストールの前に、ネットワークが従量制か、VPN経由か、遅いかを確認します。
kilobat conditionsこれらのKilobatのチェックは無料です。AIエージェントはMCPを通じて
diagnose_connectionとdiagnose_networkで実行します。1つのサイトやAPIに接続できない原因を見つけるを参照してください。
よくある質問
npmはどれくらい待ちますか?
npmのドキュメントによると、fetch-timeoutのデフォルトは300000 ms(5分)、fetch-retriesは2回です。
出典
- Node.jsドキュメント:一般的なシステムエラー
- npmドキュメント:config
- curl(1)とnetworkQuality(8)、macOS 27.2に付属のmanページ
出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」でman <name>を実行すると開けます。