作曲家安装或更新错误,是什么问题

问题描述

我有问题。 命令后

composer update

我收到错误信息

 [Symfony\Component\Console\Exception\LogicException]
  An option named "connection" already exists.


Script Sensio\Bundle\distributionBundle\Composer\ScriptHandler::clearCache handling the symfony-scripts event terminated with an exception


  [RuntimeException]
  An error occurred when executing the ""cache:clear --no-warmup"" command:





    [Symfony\Component\Console\Exception\LogicException]
    An option named "connection" already exists.

我做错了什么?

Exception trace:
 () at C:\wamp64\www\ecommerce\vendor\symfony\symfony\src\Symfony\Component\Console\Input\InputDeFinition.PHP:232
 Symfony\Component\Console\Input\InputDeFinition->addOption() at C:\wamp64\www\ecommerce\vendor\symfony\symfony\src\Symfony\Component\Console\Command\Command.PHP:384
 Symfony\Component\Console\Command\Command->addOption() at C:\wamp64\www\ecommerce\vendor\doctrine\doctrine-bundle\Command\Proxy\RunsqlDoctrineCommand.PHP:24
 Doctrine\Bundle\DoctrineBundle\Command\Proxy\RunsqlDoctrineCommand->configure() at C:\wamp64\www\ecommerce\vendor\symfony\symfony\src\Symfony\Component\Console\Command\Command.PHP:61
 Symfony\Component\Console\Command\Command->__construct() at C:\wamp64\www\ecommerce\vendor\doctrine\dbal\lib\Doctrine\DBAL\Tools\Console\Command\RunsqlCommand.PHP:36
 Doctrine\DBAL\Tools\Console\Command\RunsqlCommand->__construct() at C:\wamp64\www\ecommerce\var\cache\dev\appDevDebugProjectContainer.PHP:11355
 appDevDebugProjectContainer->getDoctrine_QuerysqlCommandService() at C:\wamp64\www\ecommerce\vendor\symfony\symfony\src\Symfony\Component\DependencyInjection\Container.PHP:329
 Symfony\Component\DependencyInjection\Container->get() at C:\wamp64\www\ecommerce\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Console\Application.PHP:140
 Symfony\Bundle\FrameworkBundle\Console\Application->registerCommands() at C:\wamp64\www\ecommerce\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Console\Application.PHP:100
 Symfony\Bundle\FrameworkBundle\Console\Application->all() at C:\wamp64\www\ecommerce\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Console\Application.PHP:64
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at C:\wamp64\www\ecommerce\vendor\symfony\symfony\src\Symfony\Component\Console\Application.PHP:122
 Symfony\Component\Console\Application->run() at C:\wamp64\www\ecommerce\bin\console:27

我使用 git 获取所有项目,并且在一台计算机上全部运行,第二台未运行。

解决方法

运行带有 -vvv 标志的命令。它会告诉你哪个命令被破坏了。例如:

bin/console -vvv

我在升级 doctrine/dbal 包后遇到同样的错误。在我的情况下,RunSqlDoctrineCommand(来自 doctrine/doctrine-bundle 包)与父 RunSqlCommand(来自 doctrine/dbal 包)冲突。 我已经更新了 doctrine/doctrine-bundle:1.12.*,它包含针对这种情况的修复。这解决了这样的问题。

,

就我而言,symfony v3.3 的某个项目在 composer install 下执行 PHP 7.4 失败,并且 PHP 7.2An option named "connection" already exists.

经过测试的解决方案:

  • 降级到PHP 7.0,它与SF完美配合v3.3
  • 将 symfony 升级到 v3.4,它与 PHP 7.27.4 完美配合。
,

就我而言

composer update doctrine/doctrine-bundle

谢谢 IStranger