エラーメッセージ

Macで「npm error code ECONNRESET」と表示される

ECONNRESETは、相手側が接続を強制的に閉じたことを意味します。Node.jsのドキュメントでは「Connection reset by peer」と呼ばれています。

対象:npm 10以降は「npm error」、それより前のバージョンは「npm ERR!」と表示します。現行のすべてのmacOS。確認日:2026年10月29日

症状

  • npm installがnpm error code ECONNRESETで止まる。
  • npmが、ネットワーク接続に関する問題だと付け加える。
  • 会社のネットワーク、VPN、セキュリティアプリの使用時に起きる。

考えられる原因

  • 接続をリセットするプロキシやフィルタ。会社のプロキシやセキュリティソフトウェアは、許可していない接続を閉じることがあります。
  • TLSインスペクション。暗号化された通信を検査するプロキシが、接続を壊すことがあります。会社のプロキシ証明書でMacのターミナルツールが動かないを参照してください。
  • 再接続するVPN。VPNが再接続すると、それを経由する接続は閉じられます。
  • 不安定な接続。Node.jsのドキュメントによると、リモート側のタイムアウトや再起動が原因になることがあります。

確認方法

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

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

    npm ping
  3. curlでレジストリをテストし、証明書の発行者を確認します。

    curl -v -o /dev/null https://registry.npmjs.org/ 2>&1 | grep -i issuer
  4. スマートフォンのテザリングなど、別のネットワークでインストールを試します。

解決方法

  1. ネットワークでプロキシが必要な場合は、npmに設定します。

    npm config set https-proxy http://proxy.example.com:8080
  2. 会社のプロキシがTLSを検査している場合は、そのルート証明書をNode.jsに追加します。会社のプロキシ証明書でMacのターミナルツールが動かないを参照してください。

  3. npmの再試行回数を増やします。

    npm config set fetch-retries 5
  4. VPN、プロキシ、セキュリティアプリがオンなら、短いテストのためにオフにします。テストが終わったらオンに戻します。

Kilobatを使う場合

  1. Kilobatの接続ドクターは、レジストリへの接続をネットワーク、プロキシ、DNS、ルール、IPv4、IPv6、TLS、サーバの層ごとにテストし、失敗した層を特定します。

    kilobat why https://registry.npmjs.org/
  2. これらのKilobatのチェックは無料です。AIエージェントはMCPを通じてdiagnose_connectionとdiagnose_networkで実行します。1つのサイトやAPIに接続できない原因を見つけるを参照してください。

よくある質問

ECONNRESETはプロジェクトのバグですか?

たいていは違います。レジストリへの接続が閉じられただけです。比較のため、別のネットワークで同じインストールを実行してください。

出典

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