【发布时间】:2019-04-21 14:50:06
【问题描述】:
我的包有两个版本:php7 和 php5。是否可以让composer在安装包时确定用户拥有哪个版本的php,并据此安装我的包的正确版本?
【问题讨论】:
-
问题不完整吗?也许有两个
composer.json文件。只是说说而已。
标签: php composer-php dependency-management
我的包有两个版本:php7 和 php5。是否可以让composer在安装包时确定用户拥有哪个版本的php,并据此安装我的包的正确版本?
【问题讨论】:
composer.json 文件。只是说说而已。
标签: php composer-php dependency-management
只安装一个作曲家,你可以用不同的php版本访问这个作曲家
/usr/bin/php /usr/local/bin/composer
/usr/bin/php7.1 /usr/local/bin/composer
/usr/bin/php7.0 /usr/local/bin/composer
【讨论】:
TL;DR:是的。
默认情况下,composer 使用 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,则使用 php 5.6 运行 composer require your-package 的人将安装版本 1。如果有人使用比您的任何版本要求的旧版本运行它,他们会收到一条错误消息,指出 composer 找不到满足所有要求的包,php 版本就是其中之一。
【讨论】: