前提・実現したいこと
Heroku上でデプロイしたい。
発生している問題・エラーメッセージ
数日前はデプロイできていましたが、日をあけてマイグレーションファイルを変更・migrate:freshをし、再度デプロイを行なったら成功しなくなってしまいました。
ec2-user:~/environment/Diet_fighter (master) $ git push heroku master \中略 remote: Stack trace: remote: #0 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(13): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() remote: #1 /tmp/build_0f74847d/vendor/composer/ClassLoader.php(571): include('...') remote: #2 /tmp/build_0f74847d/vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile() remote: #3 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Collections/helpers.php(15): Composer\Autoload\ClassLoader->loadClass() remote: #4 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php(130): collect() remote: #5 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php(106): Illuminate\Foundation\PackageManifest->build() remote: #6 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php(89): Illuminate\Foundation\PackageManifest->getManifest() remote: #7 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php(78): Illuminate\Foundation\PackageManifest->config() remote: #8 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterFacades.php(26): Illuminate\Foundation\PackageManifest->aliases() remote: #9 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(237): Illuminate\Foundation\Bootstrap\RegisterFacades->bootstrap() remote: #10 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(310): Illuminate\Foundation\Application->bootstrapWith() remote: #11 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(127): Illuminate\Foundation\Console\Kernel->bootstrap() remote: #12 /tmp/build_0f74847d/artisan(37): Illuminate\Foundation\Console\Kernel->handle() remote: #13 {main} in /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Collections/Collection.php on line 13 remote: PHP Fatal error: Uncaught Error: Class "Illuminate\Support\Collection" not found in /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Collections/helpers.php:15 remote: Stack trace: remote: #0 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Support/Traits/ReflectsClosures.php(24): collect() remote: #1 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Support/Traits/ReflectsClosures.php(44): Illuminate\Foundation\Exceptions\ReportableHandler->closureParameterTypes() remote: #2 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/ReportableHandler.php(62): Illuminate\Foundation\Exceptions\ReportableHandler->firstClosureParameterType() remote: #3 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(234): Illuminate\Foundation\Exceptions\ReportableHandler->handles() remote: #4 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(88): Illuminate\Foundation\Exceptions\Handler->report() remote: #5 /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(130): Illuminate\Foundation\Bootstrap\HandleExceptions->handleException() remote: #6 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleShutdown() remote: #7 {main} remote: thrown in /tmp/build_0f74847d/vendor/laravel/framework/src/Illuminate/Collections/helpers.php on line 15 remote: Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 255 remote: ! WARNING: A post-autoload-dump script terminated with an error remote: remote: ! ERROR: Dependency installation failed! remote: ! remote: ! The 'composer install' process failed with an error. The cause remote: ! may be the download or installation of packages, or a pre- or remote: ! post-install hook (e.g. a 'post-install-cmd' item in 'scripts') remote: ! in your 'composer.json'. remote: ! remote: ! Typical error cases are out-of-date or missing parts of code, remote: ! timeouts when making external connections, or memory limits. remote: ! remote: ! Check the above error output closely to determine the cause of remote: ! the problem, ensure the code you're pushing is functioning remote: ! properly, and that all local changes are committed correctly. remote: ! remote: ! For more information on builds for PHP on Heroku, refer to remote: ! https://devcenter.heroku.com/articles/php-support remote: ! remote: ! REMINDER: the following warnings were emitted during the build; remote: ! check the details above, as they may be related to this error: remote: ! - A post-autoload-dump script terminated with an error remote: remote: ! Push rejected, failed to compile PHP app. remote: remote: ! Push failed remote: Verifying deploy... remote: remote: ! Push rejected to dietfighter. remote: To https://git.heroku.com/dietfighter.git ! [remote rejected] master -> master (pre-receive hook declined)
composer
1{ 2 "name": "laravel/laravel", 3 "type": "project", 4 "description": "The Laravel Framework.", 5 "keywords": ["framework", "laravel"], 6 "license": "MIT", 7 "require": { 8 "php": "^7.3|^8.0", 9 "doctrine/dbal": "^3.1", 10 "fideloper/proxy": "^4.4", 11 "fruitcake/laravel-cors": "^2.0", 12 "guzzlehttp/guzzle": "^7.0.1", 13 "jrean/laravel-user-verification": "dev-master", 14 "laravel/framework": "^8.40", 15 "laravel/tinker": "^2.5", 16 "laravel/ui": "^3.3", 17 "nesbot/carbon": "^2.50" 18 }, 19 "require-dev": { 20 "facade/ignition": "^2.5", 21 "fakerphp/faker": "^1.9.1", 22 "laravel/sail": "^1.0.1", 23 "mockery/mockery": "^1.4.2", 24 "nunomaduro/collision": "^5.0", 25 "phpunit/phpunit": "^9.3.3" 26 }, 27 "autoload": { 28 "psr-4": { 29 "App\": "app/", 30 "Database\Factories\": "database/factories/", 31 "Database\Seeders\": "database/seeders/" 32 } 33 }, 34 "autoload-dev": { 35 "psr-4": { 36 "Tests\": "tests/" 37 } 38 }, 39 "scripts": { 40 "post-autoload-dump": [ 41 "Illuminate\Foundation\ComposerScripts::postAutoloadDump", 42 "@php artisan package:discover --ansi" 43 ], 44 "post-root-package-install": [ 45 "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 46 ], 47 "post-create-project-cmd": [ 48 "@php artisan key:generate --ansi" 49 ] 50 }, 51 "extra": { 52 "laravel": { 53 "dont-discover": [] 54 } 55 }, 56 "config": { 57 "optimize-autoloader": true, 58 "preferred-install": "dist", 59 "sort-packages": true 60 }, 61 "minimum-stability": "dev", 62 "prefer-stable": true 63}
試したこと
エラー文で、
PHP Fatal error: Uncaught Error: Class "Illuminate\Support\Collection" not found in /tmp/build_fffcd006/vendor/laravel/framework/src/Illuminate/Collections/helpers.php:15
とかいてあったので、そのファイルを確認しましたが、しっかりとuse文で記載されていました。
<?php use Illuminate\Support\Arr; use Illuminate\Support\Collection; if (! function_exists('collect')) { /** * Create a collection from the given value. * * @param mixed $value * @return \Illuminate\Support\Collection */ function collect($value = null) { return new Collection($value); } } //中略
また、
調べると、composer dump-autoloadで解決するというサイトもありましたが、解決しませんでした。
補足情報(FW/ツールのバージョンなど)
Laravel:8.4 データベース:開発中はMySQL、HerokuではPostgreSQL
PHP:7.3


あなたの回答
tips
プレビュー