更新:「。dev」は使用しないでください。これが最初に2016年に投稿されたときは、問題ありませんでした。今ではそうではありません。 TLDを「.localhost」などの他の何かに変更することから始めます。 (この変更では私の問題は修正されませんでしたが、まだ「.dev」を使用している場合は修正される可能性があります)。
問題:インストールしましたLaravel Valetで、ping test.dev
の場合を除いてすべて機能しているようです(これはindex.htmファイルを含み、~/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
はcaddy
procを返しますbrew services list
はdnsmasq
を返し、開始されますbrew doctor
を実行しましたが、すべて問題ありません。valet paths
は正常に戻ります:[ "/Users/nateritter/.valet/Sites", "/Users/nateritter/Sites" ]
test
ディレクトリ内でvalet link
を使用しても、この問題には影響しません。さて、これらすべてに加えて、私はすべての係員の議論を試してみることにしました。 valet share
は、ある時点でエラーが発生したように見えました。これは興味深いことですが、元の問題と関係があるかどうかはわかりません。
ERROR: Tunnel 'command_line' specifies invalid address 'test.dev:80': unexpected '[' in address test.dev:80
この後、21行のFailed to connect to 127.0.0.1 port 4040: Connection refused
と例外が発生します:
[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
問題は結局dnsmasq
と関係がありました。非常に徹底的な この回答 を別の関連する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へのブラウジングも同様に機能しました。
私がまだ調べていないことに注意することの1つは、index.htm
が潜在的なインデックスファイルとしてvalet/caddyによって認識されないことです。問題の一部ではありませんが、注目すべき興味深い点があります。
私は同じ問題を抱えていました、いくつかの醸造サービスが停止しました、このコマンドを実行することはそれを修正しました:
Sudo brew services start --all
上記の何もmacossierraで私を助けませんでしたが、1つの小さな発言がしました:
iSPの代わりにDNSにGoogleを使用しているためです。警告は、開発環境に.devTLDを使用しないことです。代わりに、.localhostのような推奨TLDを使用してください(これは、valetドメインlocalhostを介して使用するようにvaletを変更したものです。Voila。– Nate Ritter
'.dev'を避けて '.devel'を使用することで、私にとってはうまくいきました。おそらく、Googleの8.8.8.8DNSを使用している場合に必要です。
すべてが正しくセットアップされましたが、同じ問題が発生しました-app.devを実行できませんでした。
実行後
brew services list
Dnsmasqを除くすべてのサービスが「ルート」として実行されていることに気付きましたが、dnsmasqはユーザーで実行されていました。
Dnsmasqを停止しました
brew services stop dnsmasq
そしてそれを始めました:
Sudo brew services start dnsmasq
数時間の欲求不満の後、これは私にとってはうまくいきました。
Laravelを使い始めて、Laracastチュートリアルに従う場合は、最新のドキュメントも必ずお読みください。
Laravel 5.6およびValet2.0.12では、*。devドメインは* .testに置き換えられました。これは、次のようになります。 https://laravel.com/docs/ 5.6/valet#installation
*.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://blog.test のようにドメインにhttp://またはhttps://を追加することを忘れないでください。それ以外の場合は、デフォルトの検索エンジンに移動します。
私にとって、どういうわけか構文エラーがdnsmasq.conf
これにより、正しく起動できなくなります。
これをチェックするために私はしましたdnsmasq --test
次の出力が得られましたdnsmasq: bad option at line 1 of /usr/local/etc/dnsmasq.conf
1行目のタイプミスを修正し、すべてのサービスをbrew services restart --all
その後、.devドメインに再度pingを実行すると、ブラウザーで機能します。
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
これが誰かを助けることを願っています!