Windows10のWSL環境でwp-envが使えない件
最初のつまづき
Windows10のWSLのUbuntsu上でwp-envを実行しようとしたらうまく行かなかった。
# wp-env start
✖ Error while running docker-compose command.
Version in "/home/akahige/wp-env/20247b21c367f0a81420a8285eace05c/docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
要するにdocker-composeのバージョンが古いというエラー。
普段はWindows10の本体の方に入れた最新のdocker-compose.exeにUbuntsuからエイリアスを張って使っているのだが、このエイリアスを見ないで/usr/binか/usr/local/binにあるdocker-composeをパス決め打ちで読みに行ってるっぽい。
ではこうしたらどうだと/usr/bin/docker-composeや/usr/local/bin/docker-composeからWindows本体の方のdocker-compose.exeにシンボリックリンクを張ってもダメだった。
apt-getで入れたDockerだとdocker-composeのバージョンが古いのでダメみたいだ。
ちなみにwp-envの生成するComposeファイルは強制的に3.7になってしまい、3.3などに書き換えてもwp-env実行時に上書きされるので意味がなかった。
二番目のつまづき
それならばと公式の手順に従ってWSLのUbuntsuに最新のdocker-composeを入れる。
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
そして再度wp-env startを実行。
✖ Error while running docker-compose command.
The command 'docker-compose' could not be found in this WSL 1 distro.
We recommend to convert this distro to WSL 2 and activate
the WSL integration in Docker Desktop settings.
See https://docs.docker.com/docker-for-windows/wsl/ for details.
ドユコト?
そもそもアップデートで2004落ちてこないからWSL2使えないねん。
って思ったらこれは実行パーミッション立てるの忘れてたからだった。
$ sudo chmod +x /usr/local/bin/docker-compose
これでwp-env startしてみると
✖ Error while running docker-compose command.
Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
うーん。なるほどぉ。WSL上で動いてるDocker daemonが必要と言うことか。
ならばWSLでwp-envを使おうとしたらWSL2になるまで厳しいということかな。2004いつ来るのやら。
Windows10の本体の方にwp-envを入れて使えばたぶん動くと思うが、あんまり気が進まないな。
まあすぐ必要なわけでもないし、自前で構築したDocker環境で足りてるから良しとしよう。
将来的には公式のwp-env使った方が何かと便利そうなのでWSL2使えるようになったら積極的に移行していきたい。