環境
PHP: 8.0.28
Laravel: 8.83.27
PC: M1 mac
起こったこと
Laravelのプロジェクトにデバックバーのライブラリをrequireを使って導入しようと、下記のコマンドを実行した。
composer require barryvdh/laravel-debugbar
しかし、下記のエラーが吐かれた。
Your requirements could not be resolved to an installable set of packages.
Problem 1
- barryvdh/laravel-debugbar[dev-master, v3.8.0, ..., v3.8.1] require illuminate/routing ^9|^10 -> found illuminate/routing[v9.0.0-beta.1, ..., 9.x-dev, v10.0.0, ..., 10.x-dev] but these were not loaded, likely because it conflicts with another require.
- barryvdh/laravel-debugbar 3.8.x-dev is an alias of barryvdh/laravel-debugbar dev-master and thus requires it to be installed too.
- Root composer.json requires barryvdh/laravel-debugbar ^3.8 -> satisfiable by barryvdh/laravel-debugbar[v3.8.0, v3.8.1, 3.8.x-dev (alias of dev-master)].
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
解決策
私の環境では、composer.jsonのrequire-devに下記を加え、composer updateをすることで解決ができた。
"barryvdh/laravel-debugbar": "^3.6"
様々な記事を見たが、明確な原因はわからなかった。
ただ、おそらくLaravelのv8系とbarryvdh/laravel-debugbarのv3.8系があまり相性が良くないのではないかと思う。
私の環境では、v3.7.0でbarryvdh/laravel-debugbarがインストールがされた。
参考記事
下記のスレッドの内容を参考にしました。
もし私の方法で解決できない方がいらっしゃいましたら、他にも下記のスレッドで解決策を紹介しているみたいなので、ぜひ見てみてください。