【问题标题】:Composer update fails with "drush/drush 9.6.0 requires symfony/yaml ^3.4 -> satisfiable by symfony/yaml[3.4.x-dev]"Composer 更新失败并显示“drush/drush 9.6.0 需要 symfony/yaml ^3.4 -> symfony/yaml [3.4.x-dev] 可满足”
【发布时间】:2019-12-25 19:18:38
【问题描述】:

我有一个由 Composer 管理的 Drupal 自定义安装。我执行了composer outdated

这显示了一些过时的软件包。 (见下文)

我选择了 symfony/yaml 并执行了composer require symfony/yaml

我的问题是:如何解决屏幕截图中显示的“问题 1”。 我假设“->满足...symfony/yaml v4.3.0”并运行composer require symfony/yaml:v4.3.0

还有更多错误......非常相似。

【问题讨论】:

    标签: composer-php drush


    【解决方案1】:

    包drush/drush 需要v3.4.x 版本的symfony/yaml,因此与您将symfony/yaml 更新到版本4.3.x 的请求相冲突。

    drush/drush 是一个开发工具,所以有一些简单的解决方案。

    1. 删除require-dev对drush/drush的依赖...

      composer remove 'drush/drush'
      

      ...并全局安装drush cli:

      composer --global require 'drush/drush'
      
    2. 更好:使用composer-bin-plugin 之类的工具来规避全局需求中的依赖冲突:

      composer remove 'drush/drush'
      composer --global require bamarni/composer-bin-plugin
      composer --global bin drush require 'drush/drush'
      
    3. 在没有依赖冲突的情况下全局安装drush 的其他选项是cgr 或phar.io 的phive 等工具。

    有关此主题的更多信息可以在composer/composer 问题#5390 中找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-29
      • 2019-02-21
      • 2018-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 1970-01-01
      相关资源
      最近更新 更多