作曲家更新 - 没有获得最新版本

composer update - doesn't get the newest version

我想安装最新的 Codeception。根据文档,最新的稳定版本是 2.1.2

然而当我输入 composer.json:

"codeception/codeception": "*",

我正在提交 b5af3aac061ffaeb65ed023534b3c50558e90d07,它真的很旧并且没有修复一些问题。

问题是 - 为什么 composer 不接受来自 2.1 branch 的最新更改以及如何强制它这样做?

The question is - why composer doesn't take the latest changes from 2.1 branch and what to do to force it to do it?

您需要一个标签。

标签 (2.1.2 / 2.1.0) 和分支 (2.1) 之间存在差异。标签是静态的,而分支是动态的,仍然把事情放在首位。

当使用 * 时,Composer 将找出 highest/latest 标签版本并使用它,那就是 2.1.2 with 521adbb2。如果您指定 2.1,它将解析为带有 ref b5af3aac061ffa.

的标记 2.1.0

因此,您可以从需要标签改为使用分支:

"codeception/codeception": "2.1.x-dev" 将从分支“2.1”获取提交 "c52a7384a7f60"。

请注意,这是一个移动目标 - 一个开发分支。 它可能应该是一个开发依赖(,但这取决于项目)。


composer.json

{
    "require-dev": {
        "codeception/codeception": "2.1.x-dev"
    }
}

composer install