【问题标题】:View Available Package (out-of-scope) Updates with Composer使用 Composer 查看可用包(范围外)更新
【发布时间】:2015-03-29 04:14:35
【问题描述】:

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


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

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

想象一下 parsedown 的功能刚刚有了很大的飞跃,并移至 2.0.0 版。当我按预期运行作曲家更新时,我的应用程序不会更新到版本 2.0.0(如果存在的话)。有没有办法我可以看到 2.0.0 可用于 composer 命令?

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

【问题讨论】:

    标签: version composer-php


    【解决方案1】:

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

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

    1. composer show --self

    这会显示您项目的 composer.json 的输出。 你得到定义的版本约束。 或者,只需打开 composer.json。

    1. composer show --installed

    这将向您显示已解决和已安装的版本。

    1. composer show package/package

    这会显示所有可用的版本号。

    旁注: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, ...|
    +----------------------------------------------------------------------------------+
    

    【讨论】:

    • 我刚刚注意到,执行composer show package/package 命令会以绿色和星号指示可用版本列表以及已安装版本!
    【解决方案2】:

    首先,我建议您放宽您的版本要求,只使用两个波浪号而不是三个,然后看看效果如何。它不仅可以让您获得补丁更新,还可以让您获得兼容的功能更新。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多