使用Composer查看可用包(超出范围)更新

时间:2015-03-29 04:14:36

标签: version composer-php

有没有办法查看作曲家包的可用更新何时高于其composer.json要求允许?


我的composer.son文件有这样的require语句:

"require" : {
    "components/bootstrap"         : "~3.3.4",
    "components/jquery"            : "~1.11.2",
    "erusev/parsedown"             : "~1.5.2",
    ...
},

想象一下,解析后的功能大幅提升,并转移到2.0.0版本。当我按预期运行作曲家更新时,我的应用程序将不会更新到2.0.0版(如果存在)。有没有办法可以看到2.0.0可以使用composer命令?

我担心我可能会错过一些更新,因为我已经锁定了我所需的版本,希望有一些命令或方法来查看我的作曲家包的所有可用更新。

2 个答案:

答案 0 :(得分:2)

  

有没有办法查看作曲家包的可用更新何时高于其composer.json要求允许?

是的,有办法。它基本上是将composer.json中定义的版本约束与特定包的版本号composer show进行比较。

  1. composer show --self
  2. 这将显示项目的composer.json的输出。 您将获得已定义的版本约束。 或者,只需打开composer.json。

    1. composer show --installed
    2. 这将显示已解决和已安装的版本。

      1. composer show package/package
      2. 这会显示所有可用的版本号。

        旁注:composer show erusev/parsedown表示还没有发布v2.0.0。


        目前还没有表格显示,但它是一个不错的功能请求,因为它简化了项目维护。但是,自动组装信息是非常耗费资源的,特别是当有很多软件包时。

        +----------------------------------------------------------------------------------+
        | package          | defined constraint | current version | available versions     |
        ------------------------------------------------------------------------------------
        | erusev/parsedown | ~1.0               | 1.5.2           | dev-master, v1.5.2, ...|
        +----------------------------------------------------------------------------------+
        

答案 1 :(得分:0)

首先,我建议放宽您的版本要求,只使用波形符号 - 两个数字而不是三个,看看它是怎么回事。它不仅可以让您获得补丁更新,还可以兼容功能更新。

Composer目前无法向您发出信号,表明存在超出原始包标记为“废弃”的不兼容版本。您必须监控手动使用的软件包的发布公告,或者您可以尝试查看如果将下一个主要版本添加到需求中会发生什么:"erusev/parsedown" : "~1.5.2|~2.0"

如果您甚至没有尝试使用"erusev/parsedown" :"^1.5.2"更新到最新的1.x版本,这看起来很奇怪。请注意,插入符号是~1.5,>=1.5.2的主要版本> = 1的快捷键(主要版本0.x更严格地处理)。