久しぶりに、Githubからローカルにcloneしてきた、Laravel のソースを、composer install で展開したところ見慣れないエラーに遭遇しました。
解決までの手順があまり見つからなかったので、まとめておきます。
$composer install
...
...
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
In PackageManifest.php line 122:
Undefined index: name
原因は?
調べてみたところ、昨年10月にリリースされた、composer v2 を使っている為っぽいです。
vendor/composer/installed.json
v2より必要になった上記ファイル無いの、[ packages ] キーが無いことが原因だとか。
解決方法を2つほど
パッチバージョンを上げる
composer v2 に対応したバージョンがリリースされてますので、
composer update
を行うだけ。環境がなければ新たにインストールも行われます。
Package manifest generated successfully.
65 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
できました。
composer を v1 に下げる
環境によってはバージョンを変えられないケース。
その場合、composer を v1に下げてあげると、
composer self-update --1
いけます。
Package manifest generated successfully.
下げたバージョンを戻す場合は
composerのバージョンを再び戻す場合はこちらです。
composer self-update --rollback