とろんぽっと.nara の開発日記

留年しそうな情報系吹奏楽部高専生

Windowsでgem installでエラーがでたお話

はじめに

最近rubyを始めてwindows10マシンにrubyをインストールしたもはいいもののgemを使おうとしたら以下のようなエラーがでて何もできなかった

$ gem update --system
ERROR:  While executing gem ... (Errno::EADDRNOTAVAIL)
    The requested address is not valid in its context. - connect(2) for "0.0.0.0" port 53

DNSエラー?

内容的に53番ポート云々って書いてるってことは名前解決でエラーが起こってるものと推測
とりあえずググると同じような現象に陥ってる人を発見! stackoverflow.com
ここに書いてる通り.gemフォルダを削除してみたものの何もできなかった(´・ω・`)

解決策

Windowsネットワークアダプターの設定で優先DNSサーバ設定が空欄になっていたのでそこにDNS「192.168.1.1」や「8.8.8.8」などを設定したら解決した.

発生条件

個人的に考察してみた結果,確証はないが以下のいずれかを満たしている可能性が高い

  • 固定IPを設定していてDNSを設定していない(またはアドレスが存在しない)している
  • Hyper-Vを有効にしている