🐥

Plugin `Migrations` could not be foundの対処法

2024/06/21に公開

はじめに

仕事でCakePHP5系へのバージョンアップをする必要がでてきました。その途中でキャッシュファイルを削除しようとした時にエラーが出たので記録として残しておこうと思います。

エラー

[Cake\Core\Exception\MissingPluginException] Plugin `Migrations` could not be found

Migrationsのプラグインが見つからないと出ています。

一旦以下のコマンドを入力して、本当にMigrationsプラグインがインストールされていないか確認

composer show cakephp/migrations

すると以下のようにパッケージが見つからないと表示されるので入っていないのが原因だと判断。

Package "cakephp/migrations" not found. try using --available (-a) to show all available packages.

解決手順

以下の手順で行います。

  1. プラグインのインストール
  2. プラグインのロード

プラグインのインストール

以下のコマンドを実行します。

composer require cakephp/migrations

composer requireコマンドはパッケージを追加する時に使用するコマンドです。

プラグインの有効化

src/Application.phpで以下の記述を追加します。

public function bootstrap(): void
{
   parent::bootstrap();
   $this->addPlugin('Migrations');←この1行を追加

   if (PHP_SAPI !== 'cli') {
      FactoryLocator::add(
           'Table',
           (new TableLocator())->allowFallbackClass(false)
        );
    }
}

修正をした後にキャッシュファイルを削除するコマンドを実行したら、出ていたエラーは消えていました。

おわりに

最後まで読んでいただきありがとうございました。引き続き記事を書いていこうと思っているので、誰かの助けになれば幸いです。

参考文献

https://book.cakephp.org/migrations/3/ja/index.html

Discussion