📑
[Laravel] Composerにphpのバージョンをあげろと急に怒られはじめてハマった話
composerさん今日はご機嫌ななめ
Composer detected issues in your platform:
Your Composer dependencies require a PHP version ">= 8.1.0".
時々こういうエラーが出るときありませんか?
実はこれDockerを使っている場合によく起きる問題です。
一言で言ってしまうと、dockerのコンテナに入ってからcomposer installをしましょうということになります。
ついつい手が滑ってコンテナに入らずに、composer install
をするとこのエラーが発生したりします。
dockerのコンテナの中のphp
これは、お使いのPCのphpのバージョンとdockerのコンテナ内のphpのバージョンが違うから起きます。
もしやってしまった場合は、docker compose exec
でコンテナに入ってcomposer update
でcomposer.json周りを直せば動くようになると思います。
楽にコンテナに入る方法
自分はdocker-compose.ymlのphpのコンテナのサービス名は、そのままphpという名前にしているので、コンテナに入るときは下のコマンドを叩きます。
docker compose exec php bash
ただ、これ毎回打つの面倒なんですよね。
ということでエイリアスを設定しています。
最近のmacだとzshellなので、ホームディレクトリ下の.zshrcファイルに以下を追記しています。
alias dce='docker compose exec'
こうしておくと下のコマンドだけでコンテナに入れます。
dce php bash
php bash
の部分もエイリアスに含めても良いのですが、DBのコンテナに入ることもあるので、docker compose exec
までにしています。
以上です。
Discussion