📑
[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