如何在composer-php中为github中的repo找到正确的版本约束?

时间:2015-10-14 07:40:01

标签: composer-php

我正在尝试安装包Payum/PayumBundle,我添加

"require-dev": {
    "payum/payum-bundle": "1.0.0-BETA2"
  }

表示我还需要下载开发版。

这给了我一个错误:

 Problem 1
- The requested package payum/payumbundle could not be found in any version, there may be a typo in the package name.

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.

我们如何从git tag,branches中找到正确的版本约束? 我试过的:
2.尝试了

之后的版本约束
 1.0.*@beta , 1.0.0 , 1.0.*@beta ,1.0.*@dev,1.0.0@beta

结果仍然相同

该项目的最新标签是
    1.0.0-β2

这个版本的正确约束是什么?这个post解释了版本约束的含义,但它没有解释如何从git标签中找到正确的版本约束。

1 个答案:

答案 0 :(得分:1)

如何获得正确的版本名称的更简单方法是转到package detail on packagist.org

在那里你会发现没有可用的BETA标签。这可能是由Github没有触发自动更新引起的。

您可以看到,最后一个开发版本是:1.0.x-dev

所以这个命令通常会起作用:

composer require payum/payum-bundle:1.0.x-dev   

但是这个包依赖于另一个开发包,所以你需要在composer.json中提到它们。像这样:

{
    "require": {
        "payum/payum-bundle": "1.0.x-dev",
        "payum/core": "1.0.x-dev"
    }
}

并运行:

composer update

这就是全部:)。验证!