【问题标题】:how to install the latest version in a branch with composer?如何使用作曲家在分支中安装最新版本?
【发布时间】:2016-01-09 22:41:39
【问题描述】:

假设我正在尝试安装具有 1.0 分支和 master 分支的软件包。 1.0 分支有 1.0.1、1.0.2 等标签。

我想要做的是在分支中安装最新版本。我不想安装标记版本 - 我想安装最新的分支版本。

这是我尝试过的:

composer require package/package:1.0

composer require package/package:~1.0

这两个都获得了最新的 1.0.* 标记,但不是 1.0 分支中的最新标记。

我正在尝试做的事情可能吗?

就此而言,1.0~1.0 之间有什么区别?

【问题讨论】:

    标签: php git composer-php


    【解决方案1】:

    您可以要求 dev-master 作为版本名称(或 dev-branchName),它将从指定分支中提取最新提交。对于版本化的分支名称,请使用例如2.0.x-dev 改为版本名称。

    (更多详细信息请参见 Composer 文档的 Schema - package links 部分。)

    1.0~1.0 之间的区别在于1.0 指定了一个特定 版本号,而~1.0 指定任何版本“兼容”(根据语义版本控制)与 1.0被允许。来自Composer documentation

    ~ 运算符最好用例子来解释:~1.2 等价于>=1.2 <2.0.0,而~1.2.3 等价于>=1.2.3 <1.3.0

    还有类似的^操作符:^1.2.3等价于>=1.2.3 <2.0.0

    【讨论】:

    • 每当我尝试执行 composer require phpseclib/phpseclib:dev-2.0 时,都会出现以下错误:pastebin.com/exuC2nPG 然而 phpseclib/phpseclib 确实存在并且有一个 2.0 分支:github.com/phpseclib/phpseclib/tree/2.0
    • @neubert 啊,在这种情况下,您需要 2.0.x-dev,而不是。对于那个很抱歉。相应地更新了答案。
    猜你喜欢
    • 2020-08-02
    • 2020-04-07
    • 1970-01-01
    • 2015-10-06
    • 2017-03-13
    • 2014-01-29
    • 2019-12-31
    • 2019-04-21
    • 2016-08-14
    相关资源
    最近更新 更多