Blog

ブログ

npm ETIMEDOUT?ネットワーク切り分けのコツとコーヒータイムの知恵

npm ETIMEDOUT?ネットワーク切り分けのコツとコーヒータイムの知恵
☕ Coffee Break Tech2026年06月22日(月)

コーヒー淹れて一息つこうかと思ったら、ターミナル上で `npm install` が `ETIMEDOUT` で固まっちゃったこと、ありませんか?「あー、またか」とため息が出ますが、これはネットワークエンジニアとしての腕の見せ所でもあります。今日は、社内LANでよくあるこの現象、いったいどこを疑えばいいか、一緒に整理してみましょう。

まずは「自分」から疑え:DNSとプロキシの壁

エラーが出たら、まず最初に確認してほしいのは「そのPCから外に出られるか」です。ブラウザでGoogleを開けるか、pingで8.8.8.8に打てるかを確認します。もし外に出られないなら、プロキシ設定やDNSの指定漏れが怪しいです。最近の社内ネットワーク、セキュリティ強化でプロキシを通すケースが多いですが、npmrcファイルに `proxy` や `https-proxy` の設定が追いついていないと、ここですぐにタイムアウトします。設定ファイルのパスや、変数展開が正しく効いているかもチェックしてみてくださいね。

次は「道」を確認:ルーターとファイアウォールの罠

PC自体の設定は良さそうなのにタイムアウトする場合は、ネットワークの「道」が塞がっている可能性があります。ファイアウォールで443番ポート(HTTPS)や80番ポートが遮断されていないか、あるいはCDN(コンテンツデリバリーネットワーク)への接続が社内ポリシーで制限されていないか確認しましょう。特に開発環境と本番環境でネットワークが分かれている場合、開発環境からの outbound 通信が許可されていないことが多いです。ルーティングテーブルを確認して、正しいゲートウェイへ向かっているかも念のため見ておくと安心です。

最後の砦:レジストリの混雑とミラーリング

上記がすべてOKなら、もしかすると「相手(npm registry)」側の問題か、ネットワークの混雑かもしれません。深夜帯や朝イチはトラフィックが集中しがちです。もし頻発するなら、社内用のレジストリミラー(Verdaccioなど)を構築することを強くおすすめします。これなら外部への依存が減り、インストール速度も爆速になります。MiniPC一台でプロキシサーバーを建ててミラーリング環境を作るのも、今ならお手軽に始められますよ。

💡 ちょっと豆知識
ちなみに、ETIMEDOUTは「相手からの返答がない」状態なので、パケットがロスしているか、相手が応答を拒否しているかのどちらかです。単なる一時的な通信障害なら、数分待ってから再試行で解決することもあります。

トラブルシューティングは、迷ったら「基本」に戻ること。ネットワークの基礎を抑えていれば、どんなエラーも味方になります。今日はコーヒーでも飲みながら、設定ファイルを見直してみませんか?

✍ 西山 涼太(ジャパンウエストライン インフラエンジニア)