📘

cakephp5系で認証機能のプラグインがインストールできない

2024/07/10に公開

はじめに

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"

おわりに

今回はエラー解消に関してまとめました。フレームワークのチュートリアルでプラグインなどをインストールする時にエラーが出る時には、そのパッケージ自体の情報を見にいくことも大切だということがわかりました。解決に少し時間がかかってしまったけれども、勉強になったのでよかったです。同じところで苦戦している人の助けになれば幸いです。

参考文献

https://packagist.org/packages/cakephp/authentication#3.0.0
https://qiita.com/drkataware/items/6928eda85f11e159d05d

Discussion