npm アプリインストール時の通信エラー
最近 npmで何らかのアプリをインストールする時に通信エラーというか、ダウンロード先のアドレスが認識できないエラーが発生する.
例えば、Nuxtプロジェクトのインストール時
$ npx create-nuxt-app プロジェクト名
のコマンドで以下のエラー
エラー:getaddrinfo ENOTFOUND registry.npmjs.org
エラー出力はもっと長いけど、getaddrinfo
とあるので registry.npmjs.org のアドレスが認識できないらしい.
[解決方法]
URLhttps://registry.npmjs.org/create-nuxt-app
のURLが解決できないので、まずhostコマンド
でregistry.npmjs.org
のIPアドレスを調べる.
$ host registry.npmjs.org registry.npmjs.org has address 104.16.19.35 registry.npmjs.org has address 104.16.27.35 registry.npmjs.org has address 104.16.21.35 registry.npmjs.org has address 104.16.17.35 registry.npmjs.org has address 104.16.22.35 registry.npmjs.org has address 104.16.25.35 registry.npmjs.org has address 104.16.23.35 registry.npmjs.org has address 104.16.20.35 registry.npmjs.org has address 104.16.16.35 registry.npmjs.org has address 104.16.26.35 registry.npmjs.org has address 104.16.24.35 registry.npmjs.org has address 104.16.18.35 Host registry.npmjs.org not found: 2(SERVFAIL)
/etc/hosts
にそのIPを追加する.
$ sudo vim /etc/hosts
127.0.0.1 localhost 127.0.1.1 Bosch3 # 下記の一行を追加 ↓ 104.16.19.35 registry.npmjs.org # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "/etc/hosts" 13L, 256C
書き込んで保存してvim終了(Esc -> :w -> :q) 最近のは(Ubuntu18.04)再起動しなくても/etc/hostsへの変更が即反映されるらしい.
気を取り直して再度npx create-nuxt-app プロジェクト名
とするとあっさりダウンロードとインストールコマンドの実行が始まった.