前置き
最近はどの案件にアサインされてもMacを使用するのが当たり前になってきたが、我が家のPCは未だにWindowsである。だってPCゲーム遊びたいじゃん。
で、最近アサインされたLaravel案件はエンジニアさんがとても優秀で、久々に知見をきちんと取り入れたくなり、自分でも何かLaravelで作ろうと思った訳です。
で、Windows環境で真面目に環境構築しようとすると結構面倒くさい。
Windows環境の環境構築の面倒臭さのおかげでDockerfileやらdocker-compose.ymlやらはサクサク書けるようになルのは良い事なんだけど、WSL2からWindowsのディレクトリにLaravelのプロジェクトを置こうものならブラウザで開くと遅くて叶わん。
で、こうすると便利だわ~って調べた結果を歳でだいぶ忘れっぽくなってるので残しとく。
WSL2とDocker Desktopの連携してからの
いきなりリンクに頼るけど、この辺(WSL2内でDockerコマンドを使えるようにする) はMicrosoftの公式ページに任すとして。
最近知ったのはネットワーク経由でWSLにアクセス出来るって事。
\\wsl$
ネットワークドライブに割り当てて、適当なディレクトリを作成してあげて、開発時のターミナルはWSLを使用すれば速度が落ちないらしい。WindowsでLaravel開発ガチでやってる人には常識かもしれんけど。
って事でWSLで早速試してみた。
tomo@tomo-PC:~$ cd /
tomo@tomo-PC:/$ sudo chmod 777 WorkSpace
tomo@tomo-PC:/$ cd WorkSpace/
tomo@tomo-PC:/WorkSpace$
tomo@tomo-PC:/WorkSpace$
tomo@tomo-PC:/WorkSpace$ curl https://laravel.build/laravel | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1185 0 1185 0 0 1456 0 --:--:-- --:--:-- --:--:-- 1455
latest: Pulling from laravelsail/php83-composer
Digest: sha256:bf8d87c943cacab0e04ead85e8c1db440e345fd1456714f736786ef4d18ba7b7
Status: Image is up to date for laravelsail/php83-composer:latest
WARN TTY mode requires /dev/tty to be read/writable.
Creating a "laravel/laravel" project at "./laravel"
Installing laravel/laravel (v10.3.2)
...(省略)
Get started with: cd laravel && ./vendor/bin/sail up
tomo@tomo-PC:/WorkSpace$
tomo@tomo-PC:/WorkSpace$
tomo@tomo-PC:/WorkSpace$
tomo@tomo-PC:/WorkSpace$ cd laravel && ./vendor/bin/sail up
今は便利な時代になったね。
curl https://laravel.build/<自分の作りたいプロジェクト名> | bash
このコマンドを実行すると一時的なコンテナをダウンロードしてlaravelがcomposer installされた状態にまでしてくれる。
あとはlaravelのsailコマンドで環境を作り、WindowsからはZドライブのディレクトリに対してVSCodeなりPHPStormなりで開いて開発すればいいだけ。
PHPStormの場合は、[File] -> [Setting] -> [Tools] -> [Terminal] -> [Shell path]の所をwsl.exeに変更する。
この時、WSLがデフォルトで何を使うか確認しといた方が良いかも。
C:\Users\tomo>wsl -l -v
NAME STATE VERSION
* Debian Running 2
docker-desktop-data Running 2
Ubuntu Running 2
docker-desktop Running 2
C:\Users\tomo>
他のディストリビューションに切り替えたい場合は以下のコマンド
wsl --set-default Ubuntu
PHPStorm用の参考はここがいいかも
Docker Desktop WSL 2 + PhpStormでPHP開発環境を作ってみる