作曲家。如何根据用户php版本安装特定版本的软件包?

时间:2018-11-19 09:07:27

标签: php composer-php dependency-management

我有两个版本的软件包:php7和php5。是否可以让composer在安装软件包时确定用户使用的是哪个版本的php,并据此安装我的软件包的正确版本?

2 个答案:

答案 0 :(得分:3)

TL; DR:是的。

默认情况下,作曲家使用php可执行文件的版本来确定要安装的软件包的版本。可以在composer.json的config部分中对此进行覆盖,例如:

"config": {
    "vendor-dir": "vendor",
    "platform": {
        "php": "5.6"
    }
 }

当有人需要您的软件包时,会将此版本与软件包composer.json的需求列表中指定的版本进行比较:

"require": {
    "php": ">=7.2.0",
}

例如,如果您的软件包的版本1需要php 5.6,而版本2需要php 7.0,则使用composer require your-package和php 5.6运行的人将安装版本1。如果有人用比您的任何一个版本都要求的版本更旧的版本运行它,他们会收到一条错误消息,指出作曲家找不到满足所有要求的软件包,而php版本就是其中之一。

答案 1 :(得分:0)

仅安装一个作曲家,您可以使用其他php版本访问此作曲家

/usr/bin/php /usr/local/bin/composer
/usr/bin/php7.1 /usr/local/bin/composer
/usr/bin/php7.0 /usr/local/bin/composer