• Home
  • Craft CMS
  • craft コマンドの clear-caches/all で管理画面のキャッシュクリアのエラーが出る場合の対処法

craft コマンドの clear-caches/all で管理画面のキャッシュクリアのエラーが出る場合の対処法

Craft CMS では、主要な操作をコマンドラインで実行できるツールが提供されています。

例えば、プラグインのインストールやデータベースのバックアップ、キャッシュのクリアなどがコマンドラインで簡単に行なえます。

このコマンドラインツールを使うには、予め Craft CMS のプロジェクト・ルートディレクトリにある craft というファイルに実行権限を与えておく必要があります。

chmod +x ./craft

キャッシュのクリア

さて、今回、下記のコマンドで全てのキャッシュをクリアしようとしたところ、

./craft clear-caches/all

管理画面のキャッシュに関する下記のエラーが出てしまいました。

Error clearing cache Control Panel resources: Unable to clear Control Panel resources because the location isn't known for console commands.

これは、Craft CMS のデフォルトのディレクトリ構造と違う構成にした場合に発生します。この場合は、confit/general.php に下記のように @webroot の場所を定義してあげることで解消します。

'aliases' => [
    '@webroot' => dirname(__DIR__) . '/path-to-your-webroot',
],

ちなみに、dirname(__DIR__) で階層を2つ上がる場合には dirname(__DIR__, 2)とすれば良いようです。

参考: Unable to clear Control Panel resources using ./craft clear-caches/all · Issue #3787 · craftcms/cms

以上です。