はじめに
WSL2(Ubuntu 18.04)を自分のWindows 10環境に導入して、Node.jsのアプリの環境構築のためにnpm install
をしたら、fetchMetadata
と表示されてから処理が止まってしまう現象に遭遇しました。
私の場合は、(多分)DNSの名前解決が出来ていないことが原因でした。
試すこと
-
registry.npmjs.org
にpingが通るか
→通らない場合、解決方法に進む
ping registry.npmjs.org
解決方法
名前解決が出来ていないので、下記の記事を参考にGoogle の DNS サーバー 8.8.8.8 を利用する設定する。
WSL2 で dns の名前解決ができなくなって ネット接続できなくなった場合の対処方法
これでpingが通るようになって、npm installも実行できるようになるはずです。
$ ping registry.npmjs.org
PING registry.npmjs.org(2606:4700::6810:1b23 (2606:4700::6810:1b23)) 56 data bytes
64 bytes from 2606:4700::6810:1b23 (2606:4700::6810:1b23): icmp_seq=1 ttl=53 time=12.6 ms
64 bytes from 2606:4700::6810:1b23 (2606:4700::6810:1b23): icmp_seq=2 ttl=53 time=26.4 ms
注意
記事に書いてあるWSLのシャットダウンは必ずしてください。 私はこれを見落として(無視して)WSL側の設定だけをしてうまく行かず、時間を無駄にしました。
コマンドプロンプトから WSL をシャットダウンさせる。
wsl --shutdown