我有两个版本的软件包:php7和php5。是否可以让composer在安装软件包时确定用户使用的是哪个版本的php,并据此安装我的软件包的正确版本?
答案 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