Home > Net >  Creating new laravel project via composer fails with error class ArrayLoader not found
Creating new laravel project via composer fails with error class ArrayLoader not found

Time:09-28

When I create a new composer project for laravel

composer create-project laravel/laravel laravel

I get the following error

> @php artisan package:discover --ansi

   Error

  Class 'Symfony\Component\Translation\Loader\ArrayLoader' not found

  at vendor/nesbot/carbon/src/Carbon/Translator.php:80
     76▕     public function __construct($locale, Translation\Formatter\MessageFormatterInterface $formatter = null, $cacheDir = null, $debug = false)
     77▕     {
     78$this->initializing = true;
     79$this->directories = [__DIR__.'/Lang'];
  ➜  80$this->addLoader('array', new Translation\Loader\ArrayLoader());
     81parent::__construct($locale, $formatter, $cacheDir, $debug);
     82$this->initializing = false;
     83▕     }
     8413 vendor frames
  14  [internal]:0
      Illuminate\Foundation\Application::Illuminate\Foundation\{closure}()

       5 vendor frames
  20  artisan:37
      Illuminate\Foundation\Console\Kernel::handle()
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

I run it inside PHP 7.4.24 docker container (macOS) with the latest stable composer (2.1.8).

Full log https://pastebin.pl/view/bb4ae413

CodePudding user response:

Seems many people have the same issue

Downgrade temporarilyy and manually to symfony/translate 5.3.7 or lower

CodePudding user response:

There seems to be a bug or incompatibility introduced in Symfony components on version 4.3.8.

Just add this to your composer.json:

 "conflict": {
        "symfony/symfony": "*",
        "symfony/translation": "v5.3.8",
        "symfony/messenger": "v5.3.8",
        "symfony/mailer": "v5.3.8",
        "symfony/notifier": "v5.3.8"
    },

Run composer update and the old versions will be installed. When 5.3.9 is released, the new ones will be installed automatically without having to change anything.

The core team is aware of this issue, and a fix will be surely released shortly.

CodePudding user response:

If you have symphony in composer.json file, downgrading the version would work. If not just add "Symfony/translation": "4.3.8"

"require": {
     ...
     "symfony/translation": "4.3.8",
    }

and then composer update

The version may be different so keep that in mind.

  • Related