はじめに
あるとき、Laravelにてキャッシュクリアコマンドを叩いたときに、permissionを理由に怒られました(下記)。
その解決方法の1つです。他の原因で同名のエラーが発生する可能性もあると思いますが、私はこれで直りました、ということで。
$ php artisan cache:clear
Failed to clear cache. Make sure you have the appropriate permissions.
私の環境のLaravelのバージョンは6.20.34でした。
$ php artisan --version Laravel Framework 6.20.34
対応策
$ mkdir storage/framework/cache/data
これだけでした。
どうもデフォルトで作成されるディレクトリらしく、私の場合data
ディレクトリが消えておりました(多分消した?)。
手動で作ってあげると上記エラーは出なくなります。
参考
The "data" directory (storage/framework/cache/data) doesn't exist by default, which causes the check at
// framework/src/Illuminate/Cache/FileStore.php if (! $this->files->isDirectory($this->directory)) { return false; }
// framework/src/Illuminate/Cache/Console/ClearCommand.php
if (! $successful) {
return $this->error('Failed to clear cache. Make sure you have the appropriate permissions.');
}
既にあるものとして、処理が進んでいるってことですね。
おわりに
フレームワークを使っていると、やはり本体のコードを読まないといけないときって訪れるんですよね…
今回は読む前にGoogle先生に聞いてしまいましたが。
以上でした!