Composer. How to install a specific version of package based on user php version?(作曲家.如何根据用户 php 版本安装特定版本的包?)
问题描述
我的包有两个版本:php7 和 php5.是否可以让composer在安装包时确定用户拥有哪个版本的php,并据此安装我的包的正确版本?
I have a two version of my package: for php7 and for php5. Is it possible to make composer determine when installing the package which version of php the user has, and depending on this, install the correct version of my package?
推荐答案
TL;DR:是的.
默认情况下,composer 使用 php 可执行文件的版本来确定要安装哪个版本的包.这可以在 composer.json 的 config
部分中被覆盖,例如:
By default, composer uses the version of the php executable to determine, which version of the package to install. This can be overridden in the config
section of composer.json, for example:
"config": {
"vendor-dir": "vendor",
"platform": {
"php": "5.6"
}
}
当有人需要你的包时,这个版本会与你的包的 composer.json 的需求列表中指定的版本进行比较:
When someone requires your package, this version is compared to the one specified in the requirements list of your package's 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 版本就是其中之一.
So if, for example, version 1 of your package requires php 5.6, and version 2 requires php 7.0, someone who runs composer require your-package
with php 5.6 will have version 1 installed. If someone runs it with an older version than required by any of your versions, they'll get an error stating that composer could not find a package that satisfies all the requirements, the php version being one of them.
这篇关于作曲家.如何根据用户 php 版本安装特定版本的包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:作曲家.如何根据用户 php 版本安装特定版本的包?
- 没有作曲家的 PSR4 自动加载 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- PHP Count 布尔数组中真值的数量 2021-01-01
- Laravel 仓库 2022-01-01
- Mod使用GET变量将子域重写为PHP 2021-01-01
- 带有通配符的 Laravel 验证器 2021-01-01
- 如何定位 php.ini 文件 (xampp) 2022-01-01
- 正确分离 PHP 中的逻辑/样式 2021-01-01
- SoapClient 设置自定义 HTTP Header 2021-01-01
- 从 PHP 中的输入表单获取日期 2022-01-01