Laravel が更新後に 'The bootstrap/cache directory must be present and writable' エラーを投げる。
私は 'composer update' を使い、いくつかのパッケージを更新しました。アップデートの間、ウェブサイトはまだ機能しています。しかし、 'The compiled services file has been removed' と表示された後、ウェブサイトはロードされず、代わりにこう表示されます。
Exception in ProviderRepository.php line 190:
The bootstrap/cache directory must be present and writable.
一番不思議なのは、 'composer update' を再度実行すると、コンパイルされたサービスファイルが削除されるまで、ウェブサイトが再び動き出し、その時点で再び同じエラーを投げます。このエラーが表示されたときに行うべき通常のこと(chown -R everything to the right user/group and chmod all the files and folders respectively 664 and 775)はすでに試しています。
このエラーは '正しくないようなので、もうどうしたらいいのかわかりません。
44
7
composerのアップデートを実行した後に試してみてください。
Laravelのディレクトリファイル上で、実行します。
私の回答の背景にはいくつかの理由があります。 私は、Amazon Web Services' Elastic Beanstalkを使用して、Laravelプロジェクトをホストしています。私はLaravelを使い始めたばかりなので、その機能についてはあまり知りません。また、このような場合、「Skype」を利用すると便利です。
その日のうちに、私は自分が
を使用して設定をキャッシュし、高速化を図りました。そして、composer.json'の "post-install-cmd" と "post-update-cmd" 節に同じものを追加しました。 また、.ebignore ファイルに /bootstrap/cache の内容をアップロードしないように記述しました(その内容は環境依存なので a.k.a 私の localhost 設定は本番サーバでは意味がない)。
そして facepalm これが bootstrap/cache フォルダのアップロードを止めることになるとは気づきませんでした(git のように eb cli は空のフォルダを無視するのです)。
So, I started to deploy at night The deployments meant to crash.これは、私が夜にデプロイを始めたとき、デプロイはクラッシュすることになっていた。
ということで、今は_bootstrap/cache_に空のプレースホルダー(例えば) .gitkeep ファイルを置くだけにしています。そして、デプロイは再び動作しています :)
(問題があまりに単純だったので、EBSのEC2インスタンスをsshで掘って、何時間か甘い眠りについた後に原因に気付きました ~.~ )
私は非高架モード(非管理者)のウィンドウ10でcmderを使用しています。 コマンドphp artisan cache:clearは私にはうまくいきませんでした。 フォルダーbootstrap / cacheは存在しませんでした。 フォルダを作成し、bootstrapフォルダとbootstrap / cacheフォルダの両方から読み取り専用を削除しました。 ComposerのインストールとComposerの更新の両方が機能しています。
うまくいけば、これで問題が解決します。
プロジェクトフォルダで実行できます。
走るより。
走るより。
Webサーバーの場合(例:. Apache または Nginx )はフロントエンドとして使用されています。解決策は、Webサーバーグループが所有するディレクトリ「bootstrap / cache」を作成することです。 Nginx の場合: