更新:请勿使用" .dev"。当这最初发布于2016年时,它很好。现在不行。首先将您的顶级域名更改为其他一些内容,例如" .localhost"管他呢。 (这个改变不会解决我的问题,但是如果你仍然使用" .dev")它可能会修复你的问题。
问题:我已经安装了Laravel Valet,除了我ping test.dev
(它只包含一个index.htm文件并位于{{ 1}}),在挂了很长时间后,我得到了回复~/Sites
这是我已经完成的事情:
ping: cannot resolve test.dev: Unknown host
未提及/etc/hosts
test.dev
--with-fpm
包含$PATH
$PATH:$HOME/.composer/vendor/bin
返回sudo lsof -n -i:80 | grep LISTEN
proc caddy
返回brew services list
并启动dnsmasq
并且一切都很好brew doctor
成功返回:valet paths
[
"/Users/nateritter/.valet/Sites",
"/Users/nateritter/Sites"
]
目录中使用valet link
对此问题没有影响现在,除了这一切,我决定尝试所有的代客参数。 test
似乎在某个时刻出现了错误,这很有趣,但我不确定它与原始问题有什么关系。
valet share
在此之后,我获得了21行ERROR: Tunnel 'command_line' specifies invalid address 'test.dev:80': unexpected '[' in address test.dev:80
,然后是例外:
Failed to connect to 127.0.0.1 port 4040: Connection refused
答案 0 :(得分:21)
问题最终与dnsmasq
有关。使用非常彻底的this answer到另一个相关的SO帖子,我最终做了以下事情来解决我的问题:
brew unlink dnsmasq
brew install dnsmasq
brew prune
brew services restart dnsmasq
valet install
然后,为了在我做ping之前进行测试,我做了dig test.dev
并且回复包括:
;; ANSWER SECTION:
test.dev. 3599 IN A 127.0.53.53
我不确定为什么IP是127.0.53.53而不是127.0.0.1但是当我做ping test.dev
时它确实返回...
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
浏览test.dev也有效。
有一点需要注意的是,我还没有考虑到index.htm
被valet / caddy识别为潜在的索引文件。不是问题的一部分,而是值得注意的事情。
答案 1 :(得分:19)
我遇到了同样的问题,一些brew服务被停止了,运行此命令修复了它:
sudo brew services start --all
答案 2 :(得分:3)
我已正确设置所有内容,但遇到了同样的问题 - 无法让app.dev运行。
运行后
brew services list
我注意到除了dnsmasq之外的所有服务都运行为" root",但dnsmasq正在我的用户上运行。
使用
停止dnsmasqbrew services stop dnsmasq
并以:
开始sudo brew services start dnsmasq
经过几个小时的挫折后,这对我有用。
答案 3 :(得分:3)
上面没有提到我对macos sierra的帮助,但是有一点小话:
因为我使用谷歌而不是我的ISP。警告不要在开发环境中使用.dev TLD。相反,使用像.localhost这样的建议TLD(这是我通过代客域localhost改变代客的方式.Voila。 - Nate Ritter
避免'.dev'并使用'.devel'为我做了诀窍,如果您使用谷歌的8.8.8.8 dns可能需要
答案 4 :(得分:2)
*.dev
不再起作用,因为它是真正的TLD。因此,请使用其他内容,例如*.test
或*.local
。
ping dev.test
PING dev.test (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.051 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.149 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.137 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.133 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.138 ms
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.166 ms
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.142 ms
另外,请不要忘记在浏览器中打开时第一次将http://或https://添加到您的域http://blog.test。否则它将转到您的默认搜索引擎。
答案 5 :(得分:2)
如果您刚开始使用Laravel并遵循Laracast教程,请务必阅读最新文档。
在Laravel 5.6和Valet 2.0.12中,* .dev域名被* .test取代,您可以在此处看到:https://laravel.com/docs/5.6/valet#installation
答案 6 :(得分:0)
对于我来说,某种语法错误潜入 dnsmasq.conf
,这会阻止它正确启动。
为了检查这一点,我做了 dnsmasq --test
,它提供了以下输出 dnsmasq: bad option at line 1 of /usr/local/etc/dnsmasq.conf
我修正了第1行的拼写错误,并使用 brew services restart --all
重新启动了所有服务
之后,我可以再次ping到.dev域,它可以在我的浏览器中运行
ping test.dev
PING test.dev (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.062 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.035 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.056 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.053 ms
--- test.dev ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.035/0.051/0.062/0.010 ms
希望这会对某人有所帮助!