`composer install`在`hhvm`上运行,即使我需要`php`

时间:2016-03-24 14:37:27

标签: php composer-php hhvm

我已经把

"require": {
    "php": ">=5.5",
    "phpunit/phpunit": ">4,<6"
},

在我的composer.json文件中:

https://github.com/giorgiosironi/eris/blob/master/composer.json#L20

composer install但仍然接受在hhvm上运行,如下所示:

https://travis-ci.org/giorgiosironi/eris/jobs/118241849

我认为要求php表示我想要php的特定版本,因此hhvm被排除在外。相反,这个选择意味着如果 存在php,它必须满足版本约束,但如果只有hhvm它将不适用。< / p>

这是发生了什么事吗?如果是,我如何指定包与hhvm不兼容?

3 个答案:

答案 0 :(得分:1)

您可以使用conflict选项说明您的程序包与HHVM冲突。这看起来像

"conflict": {
  "hhvm": "*"
}

将您的包设置为与每个HHVM版本冲突。

答案 1 :(得分:0)

HHVM发出PHP_VERSION常量。我很确定作曲家只是使用这些常量来计算出这里的版本。

我的理解是HHVM增加了他们的PHP_VERSION,因为他们获得了与相关的vanilla php版本的功能奇偶校验。

答案 2 :(得分:0)

不,如果--decay_learning_rate在必需的数组中,则必须安装并且至少是指定的版本。正如@Evert所说,HHVM在查询时提供了php版本。

检查hhvm依赖关系:https://getcomposer.org/doc/02-libraries.md#platform-packages