📘
cakephp5系で認証機能のプラグインがインストールできない
はじめに
cakephp5で認証機能を理解するためにチュートリアルをしていました。その時に、cakephp/authentication プラグインをインストールする必要があるのですが、詰まってしまったので、記録として残しておこうと思います。
エラー内容
cakephp/authenticationプラグインをインストールするために以下のようなコマンドを入力
composer require "cakephp/authentication:^2.0"
すると以下のようなエラーが表示されました。
Problem 1
- cakephp/authentication[2.0.0, ..., 2.4.0] require cakephp/core ^4.0 -> found cakephp/core[4.0.0, ..., 4.5.6] but these were not loaded, likely because it conflicts with another require.
- cakephp/authentication[2.5.0, ..., 2.9.0] require cakephp/http ^4.0 -> found cakephp/http[4.0.0, ..., 4.5.6] but these were not loaded, likely because it conflicts with another require.
- cakephp/authentication[2.10.0, ..., 2.10.2] require cakephp/http ^4.4 -> found cakephp/http[4.4.0, ..., 4.5.6] but these were not loaded, likely because it conflicts with another require.
- Root composer.json requires cakephp/authentication ^2.0 -> satisfiable by cakephp/authentication[2.0.0, ..., 2.10.2].
結論
結果を言ってしまうと、このエラーは、cakephp/authentication:^2.0がcakephp5系と互換性がないために生じていました。なので、プラグインの情報を見て、以下のコマンドを入力したところ問題なくインストールすることが出来ました。
composer require "cakephp/authentication:^3.0"
おわりに
今回はエラー解消に関してまとめました。フレームワークのチュートリアルでプラグインなどをインストールする時にエラーが出る時には、そのパッケージ自体の情報を見にいくことも大切だということがわかりました。解決に少し時間がかかってしまったけれども、勉強になったのでよかったです。同じところで苦戦している人の助けになれば幸いです。
参考文献
Discussion