いくつかのパッケージを更新した「composer update」を使用しました。更新プロセスの間、Webサイトは引き続き機能します。ただし、「コンパイルされたサービスファイルが削除されました」と表示された後、Webサイトは読み込まれず、代わりに次のように表示されます。
Exception in ProviderRepository.php line 190:
The bootstrap/cache directory must be present and writable.
最も奇妙なことは、「composer update」を再度実行すると、コンパイルされたサービスファイルが削除されるまでWebサイトが再び機能し始め、その時点で同じエラーが再度スローされることです。このエラーが表示されたときに行うべき通常のことを既に試しています(chown -Rすべてを正しいユーザー/グループに、chmodですべてのファイルとフォルダーをそれぞれ664と775)。
エラーが「正しい」とは思えないので、私はもう何をすべきかわかりません。
composer更新を実行した後にこれを試してください:
php artisan cache:clear
Laravelディレクトリファイルで、次を実行します。
Sudo chmod -R 775 bootstrap/cache/
ショートバージョン:AWS eb cliのようなものを使用してアップロードする場合bootstrap/cacheフォルダー(その内容について話していない)が展開されています。
回答の背景
Amazon Web ServicesのElastic Beanstalkを使用して、Laravelプロジェクトをホストしています。 Laravelを使い始めたばかりなので、その機能についてはあまり知りません。 2日前、OPのエラーメッセージが表示されて、新しい展開がすべてクラッシュしていました。
その日、私は使用していないことに気付きました
php artisan config:cache
構成をキャッシュして、処理を高速化します。そして、私はcomposer.jsonの「post-install-cmd」と「post-update-cmd "句。
そして、/ bootstrap/cacheのコンテンツをアップロードしないように。ebignoreファイルにステートメントを追加しましたそのコンテンツは環境に依存しているためaka私のローカルホスト設定は本番サーバーでは意味を持ちません)
そしてfacepalmこれがbootstrap/cacheアップロードされたフォルダー(gitと同様、eb cliは空のフォルダーを無視します)。
だから、夜に展開を開始したとき、展開はクラッシュするはずでした。
それで、空のプレースホルダ(たとえば)を配置しました。gitkeep file inbootstrap/cache 。そして、展開は再び機能しています:)
(問題は非常に単純でしたが、いくつかの甘い睡眠時間のためにEBS EC2インスタンスをsshで掘り、掘り下げた後、その理由に気付きました〜。〜)
非昇格モードのWindows 10でcmderを使用しています(非管理者)。コマンドphp artisan cache:clearは機能しませんでした。フォルダーbootstrap/cacheは存在しませんでした。フォルダーを作成し、bootstrapとbootstrap/cacheフォルダーの両方から読み取り専用を削除しました。 composer installとcomposer updateの両方が現在機能しています。
最初にこれを行うことができます:
php artisan cache:clear
動作しない場合!以下のようにパーミッション775を設定する必要があります。
Sudo chmod -R 775 bootstrap/cache/
プロジェクトフォルダで実行すると動作します
Sudo chmod -R 777 bootstrap/cache
走るより
composer update
走るより
cache:clear
Webサーバー(たとえばApacheまたはNginx)がフロントエンドとして使用されている場合、ソリューションはWebサーバーグループが所有するディレクトリbootstrap/cache
を作成することです。 Nginxの場合:
$ Sudo chgrp -R nginx bootstrap/cache