我在composer.json
中有此要求:
"php": ">= 5.6",
"symfony/http-foundation": "^3.0"
该配置的问题在于它将安装paragonie/random_compat
v9.99.99,该版本仅与PHP 7及更高版本兼容。但事实是我不希望我的composer.lock
文件需要PHP 7,我希望它仍然与PHP 5.6兼容。
我发现的解决方案是跟踪哪个软件包提取了此依赖关系,一旦找到它,便将其添加到我的需求中:
"paragonie/random_compat": "~2.0"
但是我想知道是否还有更好的方法:以某种方式告诉我我接受PHP 5.6以上的所有版本,但是我不接受会强制安装PHP 7的软件包吗?
答案 0 :(得分:2)
如果您想使composer.lock
与PHP 5.6兼容,则至少有两个选择可以实现:
将PHP 5.6用于composer update
-您应该能够在操作系统上安装多个版本的PHP并运行Composer,如下所示:
/path/to/php6.5 /path/to/composer update
使用composer.json
中的platform
设置来强制安装特定版本,而与用于运行Composer命令的PHP版本无关:
"config": {
"platform": {
"php": "5.6.38"
}
},