dimanche 5 mai 2019

Error Deploying code to heroku when having Helpers folder required in composer.json

I'm new to heroku and I was trying to deploy my web app (working on local environment) to heroku. I followed documentation till step: git push heroku master. After heroku installs vendors, when it generating optimized autoload files, It show an Exception:

Generating optimized autoload files
remote:        > Illuminate\Foundation\ComposerScripts::postAutoloadDump
remote:        PHP Warning:  Uncaught ErrorException: require(/tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/../../App/Helpers/functions.php): failed to open stream: No such file or directory in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php:66
PHP Warning:  Uncaught ErrorException: require(/tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/../../App/Helpers/functions.php): failed to open stream: No such file or directory in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php:66
remote:        Stack trace:
remote:        #0 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(66): Composer\Util\ErrorHandler::handle(2, 'require(/tmp/bu...', '/tmp/build_c8be...', 66, Array)
remote:        #1 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(66): require()
remote:        #2 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(56): composerRequire52f94ddc173261f270a6e983eeb90c6c('42ab15150aa748b...', '/tmp/build_c8be...')
remote:        #3 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/autoload.php(7): ComposerAutoloaderInit52f94ddc173261f270a6e983eeb90c6c::getLoader()
remote:        #4 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php(43): require_once('/tmp/build_c8be...')
remote:        # in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php on line 66
remote:
remote:        Warning: Uncaught ErrorException: require(/tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/../../App/Helpers/functions.php): failed to open stream: No such file or directory in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php:66
remote:        Stack trace:
remote:        #0 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(66): Composer\Util\ErrorHandler::handle(2, 'require(/tmp/bu...', '/tmp/build_c8be...', 66, Array)
remote:        #1 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(66): require()
remote:        #2 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php(56): composerRequire52f94ddc173261f270a6e983eeb90c6c('42ab15150aa748b...', '/tmp/build_c8be...')
remote:        #3 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/autoload.php(7): ComposerAutoloaderInit52f94ddc173261f270a6e983eeb90c6c::getLoader()
remote:        #4 /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/laravel/framework/src/Illuminate/Foundation/ComposerScripts.php(43): require_once('/tmp/build_c8be...')
remote:        # in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php on line 66
remote:        PHP Fatal error:  composerRequire52f94ddc173261f270a6e983eeb90c6c(): Failed opening required '/tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/../../App/Helpers/functions.php' (include_path='.:/app/.heroku/php/lib/php') in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php on line 66
remote:
remote:        Fatal error: composerRequire52f94ddc173261f270a6e983eeb90c6c(): Failed opening required '/tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/../../App/Helpers/functions.php' (include_path='.:/app/.heroku/php/lib/php') in /tmp/build_c8be5dba02b1fb54b907b9b78ea87415/vendor/composer/autoload_real.php on line 66
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:  !     Push rejected, failed to compile PHP app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to young-oasis-37306.
remote:
To https://git.heroku.com/young-oasis-37306.git

Follow what it said, I think the problem is composer can't find App/Helpers folder, which is defined at composer.json:

    ...
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        },
        "files" :[
            "App/Helpers/functions.php"
        ]
    },
    ...
}

However, because this works on local composer so I really don't know how to deal with it. Can you help me please? Heroku chose platform packages for me, I will write it here, just in case. - php (7.3.4) - ext-mbstring (bundled with php) - apache (2.4.39) - nginx (1.14.2)



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire