`composer install` 运行 on `hhvm` 即使我需要 `php`
`composer install` running on `hhvm` even if I require `php`
我已经放了
"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
被排除在外。相反,这个选择似乎意味着 if 存在 php
,它必须满足版本约束,但如果只有 hhvm
,则不会申请。
这是怎么回事?如果是这样,我如何指定包与 hhvm
不兼容?
HHVM 发出 PHP_VERSION
常量。我相当确定 composer 只是使用这些常量来计算这里的版本。
我的理解是,HHVM
增加了他们的 PHP_VERSION
,因为他们获得了与相关香草 php 版本相同的功能。
不,如果 php
在所需的数组中,则必须安装并且至少是指定的版本。正如@Evert 所述,HHVM 在查询时提供 php 版本。
检查 hhvm 依赖项:https://getcomposer.org/doc/02-libraries.md#platform-packages
您可以使用 conflict 选项来说明您的包与 HHVM 冲突。这看起来像
"conflict": {
"hhvm": "*"
}
这会将您的包设置为与每个版本的 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
被排除在外。相反,这个选择似乎意味着 if 存在 php
,它必须满足版本约束,但如果只有 hhvm
,则不会申请。
这是怎么回事?如果是这样,我如何指定包与 hhvm
不兼容?
HHVM 发出 PHP_VERSION
常量。我相当确定 composer 只是使用这些常量来计算这里的版本。
我的理解是,HHVM
增加了他们的 PHP_VERSION
,因为他们获得了与相关香草 php 版本相同的功能。
不,如果 php
在所需的数组中,则必须安装并且至少是指定的版本。正如@Evert 所述,HHVM 在查询时提供 php 版本。
检查 hhvm 依赖项:https://getcomposer.org/doc/02-libraries.md#platform-packages
您可以使用 conflict 选项来说明您的包与 HHVM 冲突。这看起来像
"conflict": {
"hhvm": "*"
}
这会将您的包设置为与每个版本的 HHVM 冲突。