はかなしごと[六畳半神話]

しがないエンジニアの備忘録。

[PHP/Laravel]バージョンのダウングレード(9.*→8.*) #備忘録

はじめに

Laravel初心者です。足りない情報などあればすみません。


すでにプロジェクトを作ってしまっているLaravelのバージョンダウングレードに関して、あまり詳細が見つけられなかったので自分用にメモ。


[前提条件]
・Composerインストール済

[環境情報]
・Laravel 9.*(詳細覚えてない)
PHP 8.0.11

[ダウングレード]
・Laravelだけバージョン8.*にしたい。
PHPはそのままです

手順

〈事前準備〉
※かならずプロジェクトをフォルダごとバックアップをとって、ダウングレードに失敗した時もすぐ復元できるようにしておいてください

① プロジェクトの作成

プロジェクトを作成したいフォルダまでカレントディレクトリを移動させます。

cd [projparent]
composer create-project --prefer-dist laravel/laravel [projname] "8.*"

② (使用する場合のみ)パスワード認証機能

composer require laravel/ui

php artisan ui bootstrap --auth
php artisan ui vue --auth
php artisan ui react --auth

マイグレーション

php artisan make:migration

④ (使用する場合のみ)TwitterOAuthをインストール

composer require abraham/twitteroauth

⑤ (使用する場合のみ)OAuth認証のため

composer require laravel/socialite

【一度確認】

これでLaravel自体のグレードは8系統に下がっています。
プロジェクトをカレントディレクトリにして下記コマンドで確認

php artisan --version

バージョンが下がっていればOK。
初期画面が出るかの確認は次のコマンド

php artisan serve

http://localhost:8000/ でLaravelの初期画面が出てくればOK。

⑥ プロジェクトで新規作成したファイルたちをコピーしてくる

ここからは私はファイルの数が少なかったので手作業でやりました・・。
先ほどバージョンを下げて作成したLaravelプロジェクトにファイルを入れられるのであれば方法は何でもよい気がします。
appフォルダ、resourceフォルダ、routeフォルダあたりの自分で作成したものだけをコピーします。
※authフォルダなど、とくに自分が手を加えてないのであればコピーしてこない方がいい気がします。

完了

これで、いままで同様アプリケーションが動かせ始めたら完成です。

エラーについて

1つ考えられる不具合は

composerを実行できない

プロジェクト内にvendorフォルダがあるかどうか確認してみてください。
①vendorフォルダがある場合
ComposerのバージョンがLaravel8系統とうまくかみ合ってない可能性があるので、composerを適正なバージョンに更新します。

composer update --prefer-source

②vendorがない場合 または ①を実行できたのにうまくいかない場合
vendorフォルダがある場合は一度フォルダごと消しましょう。
プロジェクトをカレントディレクトリにして、

composer update --prefer-source

あるいは

composer install

さいごに

個人的メモであること、また当方Laravel初心者であることをふまえ、
十分な手順を書けていなかったら申し訳ありません。
この記事がなにか解決の糸口になれば幸いです。