【问题标题】:Composer doesn't update outdated dependenciesComposer 不会更新过时的依赖项
【发布时间】:2017-11-10 05:40:14
【问题描述】:

好吧,在运行命令composer outdated 之后,我可以看到有更新版本的 phpdocumentor/type-resolver 可用。安装的版本是 0.2.1,最新的是 0.3.0。需要说它是由我使用的组件间接安装的,而不是我自己安装的。

问题是当我运行composer updatecomposer update phpdocumentor/type-resolver 时,它显示“无需安装或更新”。为什么以及如何解决?

【问题讨论】:

    标签: php dependencies composer-php


    【解决方案1】:

    可能某些依赖项已经修复了您要安装的软件包版本。尝试使用命令的输出来检查您列出的软件包的使用者和版本:

    composer why-not phpdocumentor/type-resolver 0.3.0
    

    注意:在current version of the documentation of composer 中,该命令被命名为prohibits,所以如果这不起作用,请尝试:

    composer prohibits phpdocumentor/type-resolver 0.3.0
    

    希望有帮助

    【讨论】:

    • 感谢您的提示。我有 composer 1.4.2 所以第一个命令没问题。输出为:phpdocumentor/reflection-docblock 3.1.1 requires phpdocumentor/type-resolver (^0.2.0)。这是你说的问题吗? (对不起,我不久前开始使用composer)。
    • 运行composer*update phpdocumentor/type-resolver ^0.3.0 什么也没有。 Composer 说“未安装列出的更新包 0.3.0。忽略。”仍然需要一种方法将其更新到最新版本。有人吗?..
    【解决方案2】:

    您的 composer.json 文件中可能存在阻止升级的版本限制。这是为了防止添加破坏性更改。在您的示例中,版本是预发布版本 (0.*),因此版本控制约束甚至会作用于矿工版本。

    如果您确信没有重大更改或您已准备好处理它们,请编辑您的 composer.json 文件。更改如下:

    "phpdocumentor/type-resolver": "0.2.1",
    

    "phpdocumentor/type-resolver": "^0.3",
    

    再次尝试composer upgrade 并进行测试以确保一切正常。

    【讨论】:

      猜你喜欢
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      • 2014-04-21
      • 2021-06-05
      • 1970-01-01
      • 2017-10-31
      • 2016-06-20
      • 1970-01-01
      相关资源
      最近更新 更多