Search code examples
laravelcomposer-php

My laravel custom package gives ServiceProvider not found error on docker


I developed a laravel package download link here https://packagist.org/packages/dcyilmaz/livewiredatatable source codes here https://github.com/duran004/livewiredatatable (not advertising, I need to share to solve my problem)

after installing the package if I say composer install there is no problem on windows. It works fine. But it gives this error on github actions or docker:

docker-compose up -d --build
[+] Building 0.0s (0/0)  docker:default
2024/07/16 01:51:22 http2: server: error reading preface from client //./pipe/docker_engine: file has already been close[+] Building 8.0s (13/13) FINISHED                                                                       docker:default
 => [php internal] load build definition from Dockerfile                                                           0.0s
 => => transferring dockerfile: 1.14kB                                                                             0.0s
 => [php internal] load metadata for docker.io/library/php:8.2-fpm                                                 0.6s
 => [php internal] load .dockerignore                                                                              0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [php 1/9] FROM docker.io/library/php:8.2-fpm@sha256:89c7718d5465a8ad11373e79956f7b75b09d66851e26a1064cbc0708f  0.0s
 => [php internal] load build context                                                                              0.2s
 => => transferring context: 460.90kB                                                                              0.2s
 => CACHED [php 2/9] WORKDIR /var/www/html                                                                         0.0s
 => CACHED [php 3/9] RUN apt-get update     && apt-get install -y     libzip-dev     zip     unzip     git     cu  0.0s
 => CACHED [php 4/9] RUN chmod -R 777 /var/www/html && chown -R www-data:www-data /var/www/html                    0.0s
 => CACHED [php 5/9] RUN rm -f /var/www/html/composer.lock                                                         0.0s
 => [php 6/9] RUN rm -f /var/www/html/bootstrap/cache/*.php                                                        0.4s
 => [php 7/9] RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=com  1.7s
 => [php 8/9] COPY . .                                                                                             0.4s
 => ERROR [php 9/9] RUN composer install                                                                           4.7s
------
 > [php 9/9] RUN composer install:
0.341 Installing dependencies from lock file (including require-dev)
0.346 Verifying lock file contents can be installed on current platform.
0.364 Package operations: 131 installs, 0 updates, 0 removals
0.365   - Downloading symfony/finder (v7.1.1)
0.366   - Downloading symfony/polyfill-mbstring (v1.30.0)
0.366   - Downloading symfony/var-dumper (v7.1.2)
0.367   - Downloading psr/log (3.0.0)
0.367   - Downloading maximebf/debugbar (v1.22.3)
0.367   - Downloading voku/portable-ascii (2.0.1)
0.367   - Downloading symfony/polyfill-php80 (v1.30.0)
0.368   - Downloading symfony/polyfill-ctype (v1.30.0)
0.368   - Downloading phpoption/phpoption (1.9.2)
0.368   - Downloading graham-campbell/result-type (v1.1.2)
0.369   - Downloading vlucas/phpdotenv (v5.6.0)
0.369   - Downloading symfony/css-selector (v7.1.1)
0.369   - Downloading tijsverkoyen/css-to-inline-styles (v2.2.7)
0.369   - Downloading symfony/polyfill-uuid (v1.30.0)
0.370   - Downloading symfony/uid (v7.1.1)
0.370   - Downloading symfony/deprecation-contracts (v3.5.0)
0.370   - Downloading symfony/routing (v7.1.1)
0.370   - Downloading symfony/process (v7.1.1)
0.371   - Downloading symfony/polyfill-php83 (v1.30.0)
0.371   - Downloading symfony/polyfill-php72 (v1.30.0)
0.371   - Downloading symfony/polyfill-intl-normalizer (v1.30.0)
0.371   - Downloading symfony/polyfill-intl-idn (v1.30.0)
0.372   - Downloading symfony/mime (v7.1.2)
0.372   - Downloading psr/container (2.0.2)
0.372   - Downloading symfony/service-contracts (v3.5.0)
0.372   - Downloading psr/event-dispatcher (1.0.0)
0.372   - Downloading symfony/event-dispatcher-contracts (v3.5.0)
0.373   - Downloading symfony/event-dispatcher (v7.1.1)
0.373   - Downloading doctrine/lexer (3.0.1)
0.373   - Downloading egulias/email-validator (4.0.2)
0.373   - Downloading symfony/mailer (v7.1.2)
0.374   - Downloading symfony/http-foundation (v7.1.1)
0.374   - Downloading symfony/error-handler (v7.1.2)
0.374   - Downloading symfony/http-kernel (v7.1.2)
0.374   - Downloading symfony/polyfill-intl-grapheme (v1.30.0)
0.374   - Downloading symfony/string (v7.1.2)
0.375   - Downloading symfony/console (v7.1.2)
0.375   - Downloading ramsey/collection (2.0.0)
0.375   - Downloading brick/math (0.12.1)
0.375   - Downloading ramsey/uuid (4.7.6)
0.375   - Downloading psr/simple-cache (3.0.0)
0.376   - Downloading nunomaduro/termwind (v2.0.1)
0.376   - Downloading symfony/translation-contracts (v3.5.0)
0.376   - Downloading symfony/translation (v7.1.1)
0.376   - Downloading psr/clock (1.0.0)
0.376   - Downloading symfony/clock (v7.1.1)
0.377   - Downloading carbonphp/carbon-doctrine-types (3.2.0)
0.377   - Downloading nesbot/carbon (3.6.0)
0.377   - Downloading monolog/monolog (3.7.0)
0.378   - Downloading league/mime-type-detection (1.15.0)
0.378   - Downloading league/flysystem (3.28.0)
0.378   - Downloading league/flysystem-local (3.28.0)
0.378   - Downloading nette/utils (v4.0.4)
0.378   - Downloading nette/schema (v1.3.0)
0.378   - Downloading dflydev/dot-access-data (v3.0.3)
0.379   - Downloading league/config (v1.2.0)
0.379   - Downloading league/commonmark (2.4.2)
0.379   - Downloading laravel/serializable-closure (v1.3.3)
0.379   - Downloading laravel/framework (v11.15.0)
0.379   - Downloading laravel/prompts (v0.1.24)
0.380   - Downloading guzzlehttp/uri-template (v1.0.3)
0.380   - Downloading psr/http-message (2.0)
0.380   - Downloading psr/http-client (1.0.3)
0.380   - Downloading ralouphie/getallheaders (3.0.3)
0.381   - Downloading psr/http-factory (1.1.0)
0.381   - Downloading guzzlehttp/psr7 (2.6.2)
0.381   - Downloading guzzlehttp/promises (2.0.2)
0.381   - Downloading guzzlehttp/guzzle (7.8.1)
0.381   - Downloading fruitcake/php-cors (v1.3.0)
0.382   - Downloading webmozart/assert (1.11.0)
0.382   - Downloading dragonmantank/cron-expression (v3.3.3)
0.382   - Downloading doctrine/inflector (2.0.10)
0.382   - Downloading barryvdh/laravel-debugbar (v3.13.5)
0.383   - Downloading phpstan/phpdoc-parser (1.29.1)
0.383   - Downloading phpdocumentor/reflection-common (2.2.0)
0.383   - Downloading doctrine/deprecations (1.1.3)
0.383   - Downloading phpdocumentor/type-resolver (1.8.2)
0.383   - Downloading nikic/php-parser (v5.1.0)
0.384   - Downloading composer/pcre (3.1.4)
0.384   - Downloading composer/class-map-generator (1.3.4)
0.384   - Downloading barryvdh/reflection-docblock (v2.1.1)
0.384   - Downloading barryvdh/laravel-ide-helper (v3.1.0)
0.385   - Downloading dcyilmaz/formajax (v1.0.4)
0.385   - Downloading spatie/laravel-permission (6.9.0)
0.385   - Downloading livewire/livewire (v3.5.4)
0.385   - Downloading dcyilmaz/livewiredatatable (v1.1.3)
0.386   - Downloading fakerphp/faker (v1.23.1)
0.386   - Downloading laravel/pint (v1.16.2)
0.386   - Downloading symfony/yaml (v7.1.1)
0.386   - Downloading laravel/sail (v1.30.2)
0.386   - Downloading laravel/sanctum (v4.0.2)
0.387   - Downloading laravel/telescope (v5.1.1)
0.387   - Downloading psy/psysh (v0.12.4)
0.387   - Downloading laravel/tinker (v2.9.0)
0.387   - Downloading hamcrest/hamcrest-php (v2.0.1)
0.388   - Downloading mockery/mockery (1.6.12)
0.388   - Downloading filp/whoops (2.15.4)
0.388   - Downloading nunomaduro/collision (v8.1.1)
0.388   - Downloading sebastian/version (4.0.1)
0.388   - Downloading sebastian/type (4.0.0)
0.389   - Downloading sebastian/recursion-context (5.0.0)
0.389   - Downloading sebastian/object-reflector (3.0.0)
0.389   - Downloading sebastian/object-enumerator (5.0.0)
0.389   - Downloading sebastian/global-state (6.0.2)
0.389   - Downloading sebastian/exporter (5.1.2)
0.390   - Downloading sebastian/environment (6.1.0)
0.390   - Downloading sebastian/diff (5.1.1)
0.390   - Downloading sebastian/comparator (5.0.1)
0.390   - Downloading sebastian/code-unit (2.0.0)
0.390   - Downloading sebastian/cli-parser (2.0.1)
0.391   - Downloading phpunit/php-timer (6.0.0)
0.391   - Downloading phpunit/php-text-template (3.0.1)
0.391   - Downloading phpunit/php-invoker (4.0.0)
0.391   - Downloading phpunit/php-file-iterator (4.1.0)
0.392   - Downloading theseer/tokenizer (1.2.3)
0.392   - Downloading sebastian/lines-of-code (2.0.2)
0.392   - Downloading sebastian/complexity (3.2.0)
0.392   - Downloading sebastian/code-unit-reverse-lookup (3.0.0)
0.392   - Downloading phpunit/php-code-coverage (10.1.15)
0.392   - Downloading phar-io/version (3.2.1)
0.393   - Downloading phar-io/manifest (2.0.4)
0.393   - Downloading myclabs/deep-copy (1.12.0)
0.393   - Downloading phpunit/phpunit (10.5.27)
0.393   - Downloading spatie/error-solutions (1.0.5)
0.393   - Downloading spatie/backtrace (1.6.1)
0.394   - Downloading spatie/flare-client-php (1.7.0)
0.394   - Downloading spatie/ignition (1.15.0)
0.394   - Downloading spatie/laravel-ignition (2.8.0)
0.394   - Downloading symfony/http-client-contracts (v3.5.0)
0.394   - Downloading symfony/http-client (v7.1.2)
0.395   - Downloading symfony/mailgun-mailer (v7.1.2)
0.411    0/131 [>---------------------------]   0%
1.209   16/131 [===>------------------------]  12%
1.442   28/131 [=====>----------------------]  21%
1.646   41/131 [========>-------------------]  31%
1.858   54/131 [===========>----------------]  41%
2.180   72/131 [===============>------------]  54%
2.383   83/131 [=================>----------]  63%
2.583   93/131 [===================>--------]  70%
2.896  111/131 [=======================>----]  84%
3.107  121/131 [=========================>--]  92%
3.338  131/131 [============================] 100%
3.338   - Installing symfony/finder (v7.1.1): Extracting archive
3.341   - Installing symfony/polyfill-mbstring (v1.30.0): Extracting archive
3.342   - Installing symfony/var-dumper (v7.1.2): Extracting archive
3.343   - Installing psr/log (3.0.0): Extracting archive
3.344   - Installing maximebf/debugbar (v1.22.3): Extracting archive
3.346   - Installing voku/portable-ascii (2.0.1): Extracting archive
3.347   - Installing symfony/polyfill-php80 (v1.30.0): Extracting archive
3.348   - Installing symfony/polyfill-ctype (v1.30.0): Extracting archive
3.349   - Installing phpoption/phpoption (1.9.2): Extracting archive
3.351   - Installing graham-campbell/result-type (v1.1.2): Extracting archive
3.352   - Installing vlucas/phpdotenv (v5.6.0): Extracting archive
3.352   - Installing symfony/css-selector (v7.1.1): Extracting archive
3.353   - Installing tijsverkoyen/css-to-inline-styles (v2.2.7): Extracting archive
3.353   - Installing symfony/polyfill-uuid (v1.30.0): Extracting archive
3.354   - Installing symfony/uid (v7.1.1): Extracting archive
3.354   - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive
3.354   - Installing symfony/routing (v7.1.1): Extracting archive
3.355   - Installing symfony/process (v7.1.1): Extracting archive
3.355   - Installing symfony/polyfill-php83 (v1.30.0): Extracting archive
3.355   - Installing symfony/polyfill-php72 (v1.30.0): Extracting archive
3.356   - Installing symfony/polyfill-intl-normalizer (v1.30.0): Extracting archive
3.356   - Installing symfony/polyfill-intl-idn (v1.30.0): Extracting archive
3.356   - Installing symfony/mime (v7.1.2): Extracting archive
3.357   - Installing psr/container (2.0.2): Extracting archive
3.357   - Installing symfony/service-contracts (v3.5.0): Extracting archive
3.357   - Installing psr/event-dispatcher (1.0.0): Extracting archive
3.358   - Installing symfony/event-dispatcher-contracts (v3.5.0): Extracting archive
3.358   - Installing symfony/event-dispatcher (v7.1.1): Extracting archive
3.358   - Installing doctrine/lexer (3.0.1): Extracting archive
3.358   - Installing egulias/email-validator (4.0.2): Extracting archive
3.359   - Installing symfony/mailer (v7.1.2): Extracting archive
3.359   - Installing symfony/http-foundation (v7.1.1): Extracting archive
3.359   - Installing symfony/error-handler (v7.1.2): Extracting archive
3.360   - Installing symfony/http-kernel (v7.1.2): Extracting archive
3.360   - Installing symfony/polyfill-intl-grapheme (v1.30.0): Extracting archive
3.360   - Installing symfony/string (v7.1.2): Extracting archive
3.360   - Installing symfony/console (v7.1.2): Extracting archive
3.361   - Installing ramsey/collection (2.0.0): Extracting archive
3.361   - Installing brick/math (0.12.1): Extracting archive
3.361   - Installing ramsey/uuid (4.7.6): Extracting archive
3.362   - Installing psr/simple-cache (3.0.0): Extracting archive
3.362   - Installing nunomaduro/termwind (v2.0.1): Extracting archive
3.362   - Installing symfony/translation-contracts (v3.5.0): Extracting archive
3.362   - Installing symfony/translation (v7.1.1): Extracting archive
3.363   - Installing psr/clock (1.0.0): Extracting archive
3.363   - Installing symfony/clock (v7.1.1): Extracting archive
3.363   - Installing carbonphp/carbon-doctrine-types (3.2.0): Extracting archive
3.364   - Installing nesbot/carbon (3.6.0): Extracting archive
3.364   - Installing monolog/monolog (3.7.0): Extracting archive
3.364   - Installing league/mime-type-detection (1.15.0): Extracting archive
3.364   - Installing league/flysystem (3.28.0): Extracting archive
3.365   - Installing league/flysystem-local (3.28.0): Extracting archive
3.365   - Installing nette/utils (v4.0.4): Extracting archive
3.365   - Installing nette/schema (v1.3.0): Extracting archive
3.366   - Installing dflydev/dot-access-data (v3.0.3): Extracting archive
3.366   - Installing league/config (v1.2.0): Extracting archive
3.366   - Installing league/commonmark (2.4.2): Extracting archive
3.366   - Installing laravel/serializable-closure (v1.3.3): Extracting archive
3.367   - Installing laravel/framework (v11.15.0): Extracting archive
3.367   - Installing laravel/prompts (v0.1.24): Extracting archive
3.367   - Installing guzzlehttp/uri-template (v1.0.3): Extracting archive
3.368   - Installing psr/http-message (2.0): Extracting archive
3.368   - Installing psr/http-client (1.0.3): Extracting archive
3.368   - Installing ralouphie/getallheaders (3.0.3): Extracting archive
3.368   - Installing psr/http-factory (1.1.0): Extracting archive
3.369   - Installing guzzlehttp/psr7 (2.6.2): Extracting archive
3.369   - Installing guzzlehttp/promises (2.0.2): Extracting archive
3.369   - Installing guzzlehttp/guzzle (7.8.1): Extracting archive
3.369   - Installing fruitcake/php-cors (v1.3.0): Extracting archive
3.370   - Installing webmozart/assert (1.11.0): Extracting archive
3.370   - Installing dragonmantank/cron-expression (v3.3.3): Extracting archive
3.370   - Installing doctrine/inflector (2.0.10): Extracting archive
3.371   - Installing barryvdh/laravel-debugbar (v3.13.5): Extracting archive
3.371   - Installing phpstan/phpdoc-parser (1.29.1): Extracting archive
3.371   - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
3.371   - Installing doctrine/deprecations (1.1.3): Extracting archive
3.372   - Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
3.372   - Installing nikic/php-parser (v5.1.0): Extracting archive
3.372   - Installing composer/pcre (3.1.4): Extracting archive
3.373   - Installing composer/class-map-generator (1.3.4): Extracting archive
3.373   - Installing barryvdh/reflection-docblock (v2.1.1): Extracting archive
3.373   - Installing barryvdh/laravel-ide-helper (v3.1.0): Extracting archive
3.373   - Installing dcyilmaz/formajax (v1.0.4): Extracting archive
3.374   - Installing spatie/laravel-permission (6.9.0): Extracting archive
3.374   - Installing livewire/livewire (v3.5.4): Extracting archive
3.374   - Installing dcyilmaz/livewiredatatable (v1.1.3): Extracting archive
3.374   - Installing fakerphp/faker (v1.23.1): Extracting archive
3.375   - Installing laravel/pint (v1.16.2): Extracting archive
3.375   - Installing symfony/yaml (v7.1.1): Extracting archive
3.375   - Installing laravel/sail (v1.30.2): Extracting archive
3.376   - Installing laravel/sanctum (v4.0.2): Extracting archive
3.376   - Installing laravel/telescope (v5.1.1): Extracting archive
3.376   - Installing psy/psysh (v0.12.4): Extracting archive
3.376   - Installing laravel/tinker (v2.9.0): Extracting archive
3.377   - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
3.377   - Installing mockery/mockery (1.6.12): Extracting archive
3.377   - Installing filp/whoops (2.15.4): Extracting archive
3.378   - Installing nunomaduro/collision (v8.1.1): Extracting archive
3.378   - Installing sebastian/version (4.0.1): Extracting archive
3.378   - Installing sebastian/type (4.0.0): Extracting archive
3.378   - Installing sebastian/recursion-context (5.0.0): Extracting archive
3.379   - Installing sebastian/object-reflector (3.0.0): Extracting archive
3.379   - Installing sebastian/object-enumerator (5.0.0): Extracting archive
3.379   - Installing sebastian/global-state (6.0.2): Extracting archive
3.380   - Installing sebastian/exporter (5.1.2): Extracting archive
3.380   - Installing sebastian/environment (6.1.0): Extracting archive
3.380   - Installing sebastian/diff (5.1.1): Extracting archive
3.381   - Installing sebastian/comparator (5.0.1): Extracting archive
3.381   - Installing sebastian/code-unit (2.0.0): Extracting archive
3.381   - Installing sebastian/cli-parser (2.0.1): Extracting archive
3.381   - Installing phpunit/php-timer (6.0.0): Extracting archive
3.382   - Installing phpunit/php-text-template (3.0.1): Extracting archive
3.382   - Installing phpunit/php-invoker (4.0.0): Extracting archive
3.382   - Installing phpunit/php-file-iterator (4.1.0): Extracting archive
3.382   - Installing theseer/tokenizer (1.2.3): Extracting archive
3.383   - Installing sebastian/lines-of-code (2.0.2): Extracting archive
3.383   - Installing sebastian/complexity (3.2.0): Extracting archive
3.383   - Installing sebastian/code-unit-reverse-lookup (3.0.0): Extracting archive
3.383   - Installing phpunit/php-code-coverage (10.1.15): Extracting archive
3.384   - Installing phar-io/version (3.2.1): Extracting archive
3.384   - Installing phar-io/manifest (2.0.4): Extracting archive
3.384   - Installing myclabs/deep-copy (1.12.0): Extracting archive
3.384   - Installing phpunit/phpunit (10.5.27): Extracting archive
3.385   - Installing spatie/error-solutions (1.0.5): Extracting archive
3.385   - Installing spatie/backtrace (1.6.1): Extracting archive
3.385   - Installing spatie/flare-client-php (1.7.0): Extracting archive
3.385   - Installing spatie/ignition (1.15.0): Extracting archive
3.386   - Installing spatie/laravel-ignition (2.8.0): Extracting archive
3.386   - Installing symfony/http-client-contracts (v3.5.0): Extracting archive
3.386   - Installing symfony/http-client (v7.1.2): Extracting archive
3.386   - Installing symfony/mailgun-mailer (v7.1.2): Extracting archive
3.398    0/131 [>---------------------------]   0%
3.521   40/131 [========>-------------------]  30%
3.632   64/131 [=============>--------------]  48%
3.736   84/131 [=================>----------]  64%
3.840  101/131 [=====================>------]  77%
3.954  120/131 [=========================>--]  91%
4.016  131/131 [============================] 100%
4.202 Generating autoload files
4.471 > Illuminate\Foundation\ComposerScripts::postAutoloadDump
4.480 > @php artisan package:discover --ansi
4.575
4.581 In ProviderRepository.php line 206:
4.581
4.581   Class "Dcyilmaz\LivewireDataTable\LivewireDataTableServiceProvider" not fou
4.581   nd
4.581
4.581
4.585 Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
------
failed to solve: process "/bin/sh -c composer install" did not complete successfully: exit code: 1

In Laravel 11, my providers are registered like this in bootstrap/providers.php.

<?php

return [
    App\Providers\AppServiceProvider::class,
    Spatie\Permission\PermissionServiceProvider::class,
    Dcyilmaz\LivewireDataTable\LivewireDataTableServiceProvider::class,

];

If I remove my package with composer remove dcyilmaz/livewiredatatable, my docker container is created. So I think there is no problem in the docker part. There is in my package. Where could I have done wrong?

docker

What I have tried:

  • All kinds of artisan and cache cleanup
  • Delete files in bootstrap/cache folder
  • Deleting vendor
  • Composer.lock is already deleting with docker

Although Dcyilmaz\LivewireDataTable\LivewireDataTable\LivewireDataTableServiceProvider::class is attached in bootstrap/providers.php, I expect "Dcyilmaz\LivewireDataTable\LivewireDataTable\LivewireDataTableServiceProvider::class not found" error.


Solution

  • Be careful with capitalization as well.

    class LivewireDatatableServiceProvider extends ServiceProvider
    
    class LivewireDataTableServiceProvider extends ServiceProvider
    

    Windows and Mac are case insensitive. Linux is case sensitive. This difference will only cause an error on Linux.