【问题标题】:Creating new laravel project via composer fails with error class ArrayLoader not found通过 composer 创建新的 laravel 项目失败,错误类 ArrayLoader not found
【发布时间】:2021-11-20 08:34:16
【问题描述】:

当我为 laravel 创建一个新的作曲家项目时

composer create-project laravel/laravel laravel

我收到以下错误

> @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());
     81▕         parent::__construct($locale, $formatter, $cacheDir, $debug);
     82▕         $this->initializing = false;
     83▕     }
     84▕

      +13 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

我使用最新的稳定作曲家 (2.1.8) 在 PHP 7.4.24 docker 容器 (macOS) 中运行它。

完整日志https://pastebin.pl/view/bb4ae413

【问题讨论】:

标签: php laravel symfony composer-php


【解决方案1】:

4.3.8 版的 Symfony 组件中似乎存在错误或不兼容问题。

只需将此添加到您的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"
    },

运行composer update 将安装旧版本。当 5.3.9 发布时,新的将自动安装,无需更改任何内容。

核心团队is aware of this issue,很快就会发布修复。

【讨论】:

    【解决方案2】:

    似乎很多人都有同样的问题

    暂时手动降级到 symfony/translate 5.3.7 或更低版本

    【讨论】:

      【解决方案3】:

      如果您在 composer.json 文件中有 symphony,则可以降级版本。 如果不只是添加 “Symfony/翻译”:“4.3.8”

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

      然后 composer update

      版本可能不同,请记住这一点。

      【讨论】:

        猜你喜欢
        • 2019-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-16
        • 2014-04-23
        • 2019-01-28
        • 2015-08-23
        相关资源
        最近更新 更多