使用composer创建laravel程序时,创建不出来vendor文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用composer创建laravel程序时,创建不出来vendor文件夹相关的知识,希望对你有一定的参考价值。

使用composer创建laravel程序时,创建不出来vendor文件夹,且在过程中报错:

创建出的项目,没有vendor:

对刚创建出的程序进行composer install时同样不管用,报错与上面的相同:

如何解决

参考技术A 这三个扩展都要保证开了
extension=php_fileinfo.dll
extension=php_mbstring.dll
extension=php_openssl.dll
然后重新创建laravel项目就可以了
参考技术B php mbstring扩展没开本回答被提问者采纳

通过 composer 创建新的 laravel 项目失败,错误类 ArrayLoader not found

【中文标题】通过 composer 创建新的 laravel 项目失败,错误类 ArrayLoader not found【英文标题】:Creating new laravel project via composer fails with error class 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

【问题讨论】:

这能回答你的问题吗? Corrupted composer.json file in Laravel 8 这是最近几个小时内修复的错误。您可以尝试再次运行您的命令吗? 【参考方案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

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

【讨论】:

以上是关于使用composer创建laravel程序时,创建不出来vendor文件夹的主要内容,如果未能解决你的问题,请参考以下文章

通过 composer 创建新的 laravel 项目失败,错误类 ArrayLoader not found

安装完composer后创建laravel项目报错如下,是怎么回事?

供应商文件夹中的 symfony 是啥?

composer创建Laravel 项目

composer创建Laravel 项目

Laravel创建项目和安装PHPStorm IDE插件