0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

php バージョン変更

Last updated at Posted at 2023-10-08

php artisan migrateを行うと以下のエラーが発生してmigrateできない!
LaravelのバージョンとPHPのバージョンの間に不整合があるため実行できないというエラーが発生しています。
(現在のバージョン8.2)
スクリーンショット 2023-10-08 22.14.00.png
PHP 8.0にグレードダウンするためPHP 8.0をインストールする

brew install php@8.0

シンボリックリンクを変更して、デフォルトのPHPバージョンとして設定

brew link --overwrite --force php@8.0

PHPのバージョンを確認

php -v

以下のようにバージョンが8.0に変更されたらOK。
スクリーンショット 2023-10-08 22.58.22.png

アプリのディレクトリに移動しmigrateを行う

php artisan migrate

何故か以下のようにバージョン8.1以上を求められた
スクリーンショット 2023-10-08 22.31.32.png
そこでバージョン8.1に変更してみましたが8.2の時と同じエラーが発生してしまいました。どういうこと?

利用可能なPHPのバージョンを確認

braw search php

スクリーンショット 2023-10-08 22.40.07.png
PHP 8.1: 現在インストールされており、アクティブになっているバージョンです。 (php@8.1 ✔ により示されています)
PHP 8.0: インストールされていますが、現在はアクティブではありません。(php@8.0 ✔ により示されています)
PHP 7.4: インストールされているバージョンです。(php@7.4 により示されています)
PHP 7.1, 7.0, 5.6: これらは非推奨としてマークされたバージョンです。


ある依存パッケージがPHP 8.1を要求している一方、Laravel自体はPHP 8.1に完全に対応していないために起こっているようだったのでPHP 8.0を使用する必要があるので以下を実行。

composer.lockとvendorディレクトリを削除

rm composer.lock
rm -rf vendor/

Composerの依存関係を更新
このとき、PHP 8.0をターゲットとして指定します。

composer update --ignore-platform-reqs

--ignore-platform-reqsオプションは、現在の環境のPHPバージョンを無視して依存関係を解決します。これにより、PHP 8.1を要求するパッケージがインストールされるのを防ぎます。
再びmigrateを行う

php artisan migrate

この手順で、PHP 8.0の環境でLaravelのマイグレーションができます。


参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?