

みなさんこんにちはこんばんは。
年末年始に飲みすぎて喉を壊した人です。
今回はUbuntu環境でnpmからパッケージをインストールしようとした時になかなかインストールが始まらず終いにはインストール失敗となってしまう現象に陥ってしまったので、解決した方法をご紹介します。
発生したエラー内容
1 2 3 4 5 6 |
npm ERR! code EHOSTUNREACH npm ERR! syscall connect npm ERR! errno EHOSTUNREACH npm ERR! request to https://registry.npmjs.org/forever failed, reason: connect EHOSTUNREACH 2606:4700::6810:223:443 npm ERR! A complete log of this run can be found in: /{your}/{path}/.npm/_logs/{debug}.log |
私の環境だとインストールがなかなか始まらず最終的にこのようなエラーが発生していました。
エラーの内容としては”registry.npmjs.org”というドメインの名前解決ができませんでしたという内容になります。
npmでインストールしようとするとIPv6アドレスでの接続を試みようとしているのが原因っぽいです。
IPv4接続へ変更する
IPv4アドレスでの接続にすることで解消することができるので以下のように”hosts”ファイルを変更してあげます。
1 |
104.16.29.34 registry.npmjs.org |
npmパッケージをインストールする時にアクセスしているドメインに対してIPv4アドレスでの接続をするように設定をします。
編集後改めてnpmからパッケージをインストールしてみます。
1 2 3 4 5 6 7 8 |
npm install --save axios added 9 packages, and audited 26 packages in 1s 1 package is looking for funding run `npm fund` for details found 0 vulnerabilities |
このように無事パッケージがインストールされるようになりました。
最後に
今まで普通に動いていたものが環境を変えると急に動かなくなるものってありますよね。
今回はnpmでパッケージをインストールできない場合の対処法をご紹介しました。
同じ症状が発生している方はぜひ試してみてください。