遭遇したエラー
composer install
error...
Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
In Finder.php line 603:
The "" directory does not exist.
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
環境
- EC2:ubuntu
- dockerコンテナ
- app:php7.4系
- Laravel(api)+React(ui)
- web:nginx
- db:mysql8.0
解決策
.gitignoreが起因してclone時に作成されなファイルまたはフォルダーを作成する
自分の環境で必要となったこと
mkdir -p storage/framework/cache/data/
mkdir -p storage/framework/app/cache
mkdir -p storage/framework/sessions
mkdir -p storage/framework/views
経緯
docker+Laravel(API)+React+mySQlで実装
local環境では問題なくうごいていたものが
aws EC2上に公開しようとして下記の流れで実装
- git clone
- ルートディレクトリー .env 作成 + 編集
- docker-compose up -d --build
- docker-compose exec app composer install
試したこと
ここから先はlogのようなものなので参考程度に御覧ください
- 試したこと1
- .envファイル見確認
- スペースが入っていないか
- APP_ENV=production になっている
- .gitignoreみなおし
- /configの記述を発見 しらべてみると.envより先によまれるものでプロダクトによっては記述がひちようになるがcnfigファイルはとくに目立った編集をしていないため公開することに
- 別のエラー発生
- .envファイル見確認
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
InvalidArgumentException : Please provide a valid cache path.
at /work/backend/vendor/laravel/framework/src/Illuminate/View/Compilers/Compiler.php:36
32| */
33| public function __construct(Filesystem $files, $cachePath)
34| {
35| if (! $cachePath) {
> 36| throw new InvalidArgumentException('Please provide a valid cache path.');
37| }
38|
39| $this->files = $files;
40| $this->cachePath = $cachePath;
Exception trace:
1 Illuminate\View\Compilers\Compiler::__construct(Object(Illuminate\Filesystem\Filesystem))
/work/backend/vendor/laravel/framework/src/Illuminate/View/ViewServiceProvider.php:92
2 Illuminate\View\ViewServiceProvider::Illuminate\View\{closure}(Object(Illuminate\Foundation\Application), [])
/work/backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:799
Please use the argument -v to see more details.
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1