WSLでLaravel Sail環境構築中のエラー対策を解説します。今回は、curl -s https://laravel.build/プロジェクト名 を実行しても、反応がないときの対策です。
下記のようにエラーメッセージもなく反応がない場合には、ネットワークがつながっていない可能性があります。対策を解説していきますね。
【laravel build を行っても無反応 】
わたしがまさに、この状況でした。
最初は理由が分からず、??となっちゃいました。
Laravel Sailエラー:https://laravel.build 実行後、無反応な時の対策
これはLaravelというより、WSLに原因がある可能性があります。まずは原因の特定のため、ネットワークの接続を確認しましょう。原因が該当したら、必要な設定を行っていきましょう。
① ネットワーク接続を確認
ためしに、ubuntuのターミナル(コマンド入力できるウィンドウ)から下記コマンドをいれてみます。
1 |
ping yahoo.co.jp |
正常であれば、画面のように反応が返ってくるはずです。
ですが、can not resolve Host などエラーメッセージが表示されたり、無反応のまま、応答が帰ってこない場合は、以下の設定変更をやってみましょう。
正常に接続できている場合は、他のエラー対策見てみてくださいね。下記記事中にもいくつか載せてます。
② wslの設定を変更
/etc へ移動します。
1 |
cd /etc/ |
ここに wsl.confファイルがあるはずですが、何も設定してない場合は、ないこともあります。
まずは、ファイルを編集するコマンドを実行します。
1 |
sudo vim wsl.conf |
vimは、指定したファイルがない場合には、ファイルを作成してくれるコマンドです。コマンド実行後、パスワードを入力するよう出てきます。パスワードを入力すると、編集画面となります。
③ wslの設定を変更
iキーを押し、編集モードにします。既存のコードを削除し、下記のコードを入れます。
1 2 |
[network] generateResolvConf = false |
Escキーを押し、続いて :wq を押します。これによって、保存して閉じることができます。
④ 既存のresolv.confファイルを削除
次にresolv.conf の設定を更新します。
まずは既存のファイルを削除します。
1 |
sudo rm /etc/resolv.conf |
⑤ 新たにresolv.confファイルを作成
次に、新たにresolv.confを作ります。
下記で新しくresolv.confファイルを作ります。
1 |
sudo vim /etc/resolv.conf |
今いる場所が etc なので、/etc/入れなくてもOKです。
ファイルが開くので、iキーを押して、編集モードにします。下記を入れます。
1 |
nameserver 8.8.8.8 |
Escキーを押し、:wqキーを押して、保存して閉じます。
ちなみに この8.8.8.8は、Googleが運営するパブリックDNSサービス(Google Public DNS)です。詳しい説明を引用しておきますね。
このDNSサーバーのアドレスを自分のPCに設定す ると、ブラウジングの速度が向上、セキュリティもアップするとしています。登場したのは2009年のことでした。Google Public DNSの優先DNSサーバのアドレスは、先ほどから登場している「8.8.8.8」、代替DNSサーバのアドレスは「8.8.4.4」です。
引用元:https://www.school.ctc-g.co.jp/sse/columns/ozawa2/ozawa201.html
⑥ 再起動
設定が終わったら、再起動をします。
Windows Powershell で wsl をシャットダウンします。
1 |
wsl --shutdown |
Ubuntuがクローズします(クローズしない場合は、手動で閉じてください)。
その後、Ubuntuを再度立ち上げます。
Dockerも起動させておきます。念のため、wsl -l -vコマンドを実行し、必要なツールが起動していることを確認します。
ping yahoo.co.jp をもう一度入力してみましょう。下記のように、返答が返ってくるようになったら、改善していると考えられます。
この状態で再び、Laravelプロジェクトを作成してみましょう。
うまくいかない場合
設定が反映されていない可能性があります。etcに移動し、resolve.confファイルを開いて、設定が変更されているか確認してみてください。
【移動コマンド】
1 |
cd /etc/ |
【ファイルを編集用に開くコマンド】
1 |
sudo vim resolv.conf |
下記のように設定されているか確認します。
設定されていなければ、本記事の⑤を参考にファイルを編集してください。編集後はEscキーを押し、:wqキーを押して保存します。
ファイルがうまく閉じれなくなった場合には、Escキーを押した後、:q! キーを押すと、強制的に閉じられます。
さいごに
今回の記事でエラーがなおったら嬉しいです。
Laravel Sailについては、下記記事で詳しく解説しています。
Laravel Sail環境構築が難しい場合には、Xampp(ザンプ)やMamp(マンプ)を使った環境構築方法もあります。下記記事を参考にしてくださいね。
個人的には、現時点では、こちらのほうが環境を構築しやすいと思います。