puma-devがどうしても起動しない理由

Ruby on Rails

Railsのローカル開発環境を快適にするためにPuma-devを導入しました

インストールは順調に進んだものの、どうしてもブラウザで「4breaker.test」などと打ち込んでも表示されません

解決するまで数日を要しましたが、原因は意外なものでした

原因はVagrantの設定ファイル

自分のローカル環境は先にVagrantをインストールし、その後にDockerをインストールしていました

どうやらVagrantのインストール時に/etc/hostsファイルにtestドメイン用の設定がされていたようで、これが原因でした

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1	localhost
255.255.255.255	broadcasthost
::1             localhost
192.168.33.10  4breaker.test  # VAGRANT: df17de97072efahgsdaad19bd0db30b8f (default) / 2e3d2939-37b8-3a8d-ba03-61426fb0d3ae ←こいつが原因
# Added by Docker Desktop
# To allow the same kube context to work on the host and the container:

というわけで、/etc/hostsと/etc/hosts-e内に記述されていたVagrantの設定をコメントアウトしてから再度、

puma-dev -install -d test
puma-dev -setup

を実行することで、無事「4breaker.test」でローカル起動することに成功しました

それにしても、Vagrantにはいろいろなところで足を引っ張られています。。。

この現象の対象者

この原因でpuma-devが起動しない人は、こんな人だと思われます

  • 過去にVagrantをインストールしたことがある
  • puma-dev -uninstall -d testを実行してるのに、ping 4breaker.testを実行すると結果を返そうとする(本来は存在しないはずなので「ping: cannot resolve 4breaker.test: Unknown host」を返すはず)

この原因を突き止めるまでの経緯

誰も興味はないと思いますが、一応、この原因を突き止めるまでの経緯を書いておきます

puma-devをアンインストールしても、ローカルのページが開けそう

まずおかしいと思ったのがここでした

puma-devをアンインストールしてるはずなのに、ブラウザで「4breaker.test」を打ち込むと、ページの読み込みがしばらく続いたのに「開ません」が表示されます

本来ならそんなドメインは存在しないはずなので、すぐに「開ません」の表示が出るはず

❯ ping 4breaker.test                                          
PING 4breaker.test (192.168.33.10): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4

さらにpingコマンドを実行してみると、なんと結果が帰ってくるではありません

❯ ping 4breaker.test2gfds
ping: cannot resolve 4breaker.test2gfds: Unknown host

試しに適当なドメインを入力してみると「Unknown host」と帰ってきます(本来はこのような表示になるはず)

この時点で、このtestドメインがどこかで使われているとわかりました

調べた結果、hostsファイルにローカルのドメイン名が記述されていたのでした