Update: Don't use ".dev". When this was originally posted in 2016, it was fine. Now it's not. Start by changing your TLD to somethinge else like ".localhost" or whatever. (This change would not have fixed my issue, but it might fix yours if you're still using ".dev").
Problem: I've installed Laravel Valet and it all seems to be working except when I ping test.dev
(which just contains an index.htm file and is located in ~/Sites
), after hanging for a long time I get the response ping: cannot resolve test.dev: Unknown host
Here's what I've already done:
/etc/hosts
contains no mention of test.dev
--with-fpm
$PATH
contains $PATH:$HOME/.composer/vendor/bin
sudo lsof -n -i:80 | grep LISTEN
returns the caddy
procbrew services list
returns dnsmasq
and is startedbrew doctor
and all is good therevalet paths
returns successfully:
[
"/Users/nateritter/.valet/Sites",
"/Users/nateritter/Sites"
]
valet link
inside the test
directory has no effect on this issueNow, in addition to all this, I decided to try all the valet arguments out. valet share
seemed to bork with an error at one point, which is interesting but I'm not sure it has anything to do with the original issue.
ERROR: Tunnel 'command_line' specifies invalid address 'test.dev:80': unexpected '[' in address test.dev:80
After this I get 21 lines of Failed to connect to 127.0.0.1 port 4040: Connection refused
and then an exception:
[Httpful\Exception\ConnectionErrorException]
Unable to connect to "http://127.0.0.1:4040/api/tunnels": 7 Failed to connect to 127.0.0.1 port 4040: Connection refused
fetch-share-url
The problem ended up being something to do with dnsmasq
. Using the very thorough this answer to another related SO post, I ended up doing the following to solve my issue:
brew unlink dnsmasq
brew install dnsmasq
brew prune
brew services restart dnsmasq
valet install
Then, just to test before I did a ping, I did dig test.dev
and the response included:
;; ANSWER SECTION:
test.dev. 3599 IN A 127.0.53.53
I'm not sure why the IP is 127.0.53.53 and not 127.0.0.1 but when I did a ping test.dev
it did return ...
PING test.dev (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.036 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.072 ms
Browsing to test.dev worked as well.
One thing to note that I haven't looked into yet is that index.htm
is not recognized by valet/caddy as a potential index file. Not part of the issue, but something interesting to note.