我一直在做一个Laravel 7项目已经有一段时间了.突然,我的composer install返回以下错误

Generating optimized autoload files
Class Modules\Tests\ThumbnailTest located in ./Modules/Media/Tests/ThumbnailTest.php does not comply with psr-4 autoloading standard. Skipping.
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
                                       
  An option shortcut cannot be empty.                                     

Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

==同步,由长者更正== PHP 7.2 PHP 7.2 操作系统:Ubuntu-Ubuntu

我已经安装了数千次,现在这个错误阻碍了我的项目.

下面是错误的堆栈跟踪

[2024-02-01 08:39:00] local.ERROR: An option shortcut cannot be empty. {"exception":"[object] (Symfony\\Component\\Console\\Exception\\InvalidArgumentException(code: 0): An option shortcut cannot be empty. at /home/myproject/vendor/symfony/console/Input/InputOption.php:85)
[stacktrace]
#0 /home/myproject/vendor/symfony/console/Command/Command.php(459): Symfony\\Component\\Console\\Input\\InputOption->__construct()
#1 /home/myproject/vendor/laravel/framework/src/Illuminate/Console/Concerns/HasParameters.php(32): Symfony\\Component\\Console\\Command\\Command->addOption()
#2 /home/myproject/vendor/laravel/framework/src/Illuminate/Console/Command.php(85): Illuminate\\Console\\Command->specifyParameters()
#3 [internal function]: Illuminate\\Console\\Command->__construct()
#4 /home/myproject/vendor/laravel/framework/src/Illuminate/Container/Container.php(849): ReflectionClass->newInstanceArgs()
#5 /home/myproject/vendor/laravel/framework/src/Illuminate/Container/Container.php(691): Illuminate\\Container\\Container->build()
#6 /home/myproject/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(796): Illuminate\\Container\\Container->resolve()
#7 /home/myproject/vendor/laravel/framework/src/Illuminate/Container/Container.php(637): Illuminate\\Foundation\\Application->resolve()
#8 /home/myproject/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(781): Illuminate\\Container\\Container->make()
#9 /home/myproject/vendor/laravel/framework/src/Illuminate/Console/Application.php(261): Illuminate\\Foundation\\Application->make()
#10 /home/myproject/vendor/laravel/framework/src/Illuminate/Console/Application.php(275): Illuminate\\Console\\Application->resolve()
#11 /home/myproject/vendor/laravel/framework/src/Illuminate/Support/ServiceProvider.php(333): Illuminate\\Console\\Application->resolveCommands()
#12 /home/myproject/vendor/laravel/framework/src/Illuminate/Console/Application.php(152): Illuminate\\Support\\ServiceProvider->Illuminate\\Support\\{closure}()
#13 /home/myproject/vendor/laravel/framework/src/Illuminate/Console/Application.php(75): Illuminate\\Console\\Application->bootstrap()
#14 /home/myproject/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(330): Illuminate\\Console\\Application->__construct()
#15 /home/myproject/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\\Foundation\\Console\\Kernel->getArtisan()
#16 /home/myproject/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle()
#17 {main}
"} 

我的所有Arartian命令都返回相同的错误:"选项快捷方式不能为空"

最近,我升级到了Laravel 7.我遵循了升级指南.但是这个错误堆栈并没有给我任何提示,问题出在哪里.

推荐答案

由于symfony/console的最新版本发生了更改,并且恢复此更改的新版本应为released shortly (but not immediately),因此您可以简单地告诉Composer避免安装此特定版本.

在这种情况下,将以下内容添加到您的composer.json:

"conflict": {
    "symfony/console": "5.4.35"
  }

(如果您已经有一个conflict键,只需添加symfony/console行即可).

这样,在执行update/install命令时将跳过该特定版本的库.

(另外,需要注意的是,这成为突破性更改的唯一方法是对现有项目进行1到update的更改,或者从头开始创建项目;install对现有项目的更改应该导致读取锁定文件,该锁定文件应该具有以前安装的工作版本).

Php相关问答推荐

PHP FFI—将PHP数组转换为C指针数组

在Laravel中,如果我用session—put()存储一些信息,客户端浏览器是否可以使用这些信息?>

如何删除WordPress用户的个人资料描述或其他个人资料字段中的链接?

在WooCommerce中禁用客户用户角色的纳税计算

为什么正则表达式与得到的文本块之前得到的也行?

Laravel区分大小写搜索

在Laravel中从动态嵌套数组中获取值

将WooCommerce WC_Order对象与wp_Schedule_Event一起使用

如何从phpseclib和SFTP获取日志(log)记录?

在WooCommerce中以编程方式添加特定产品后,将价格设置为零

通过添加计数器修改文本区域表单中的重复值

在 Heroku 上部署 Sylius - 路由不正确

WooCommerce 有关新订单的附加邮箱通知,其中包含具体详细信息

基于WooCommerce中的产品变体自定义感谢页面跳转

PHP:如何将多列sql查询结果转换成数组

yii2 sql迁移覆盖新更改的记录

在 WordPress 中使用 $wpdb 运行 MySQL 事务是否安全?

在 laravel 中更新表单时如何在 Select 选项中保留旧值?

来自命令行的 PHP 没有给出正确的结果

使用 PHP ImageMagick 库将 pdf 文件的前 n 页转换为单个 png 图像文件