Laravelをリポジトリからcloneしたら、composer installでエラーになった時の対処記録

Laravelをリポジトリからcloneしたら、composer installでエラーになった時の対処記録

私が実際に使用した方法や参考にした方法を忘れないためのテック備忘録です。
正しい知識または理解であるとは限りませんので、ご参考になさる際はご注意ください。

Laravel(v5.7)で運用しているプロジェクトのリニューアルにあたり、
一部の機能の変更を試すために、
運用中のプロジェクトソースをリモートリポジトリから
新規Homestead環境にcloneするという
開発環境の構築フェーズに思わぬエラーが発生しました。

Laravel|Composer install|エラー|Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

Homesteadのバージョンは、
現行のワークスペースと同じバージョンに設定し、
phpのバージョンも揃っているにも関わらず、
上記画像のエラーが発生してしまいました。

検索して最初に発見したのは、
.envファイルのAPP_ENVが
localまたはdevelopmentに設定されていないとエラーが出る、
という記事。

確かに.env.exampleのコピーを行っていない状態でしたので、
これが解決策として期待できると思い、
再度リポジトリからcloneするところからやり直し、
.env.exampleから.envを作成してから
composer install。

・・解決せず。

「これはcomposer周りの面倒くさいやつかな〜」
と思いつつ検索を進めていたら、
githubにそれらしきIssueのページがあったので、
先達のやりとりを追っていきましたら、
どうやらLaravelのv5〜v6にかかる期間に
composerのアップデートに伴うバグの修正が行われていたらしい。

参照URL:
https://github.com/composer/composer/issues/9340

Laravelのバージョンをv6.18.7以上にすれば良いらしのですが、
機能変更のテストを取り急ぎ済ませたい状況でしたので、
バージョンアップ作業は今はしたくありませんでした。

それでも
「やらなアカンか〜」
と覚悟を決めんとした時に、

バージョンアップが難しかったら、
composerのバージョンを下げれば良い
という文言を発見!

composer self-update --1

このコマンドを実行しましたら、
composerのバージョンが2系から1系に下がったことが確認できました。

この状況でプロジェクトを再度削除して、
改めてgit clone。

念のために、.envファイルも用意して、
いざcomposer install。

成功しました!

その後はデータベースや.envファイルを整えて、
プロジェクトにアクセスしましたら、
無事に現行アプリケーションを開発環境下に
再現することができました。

しばらくマイナーアップデートしかしていなかったプロジェクトだと、
メジャーな部分で置いていかれてしまう焦りを改めて痛感しました。

テックカテゴリの最新記事