我有一个PHP编写器包,需要"illuminate/support":"4.1.*"
才能与Laravel 4.1集成一起使用。我有一个新的Laravel项目,现在是4.2。*。我相信我现在需要更新包以要求"illuminate/support":"4.2.*"
(由于作曲家错误)。我如何在包中保持对Laravel v4.1和v4.2的支持?
这是我的作曲家包composer.json
文件:
{
"name": "appointedd/appointedd-php",
"description": "",
"authors": [
{
"name": "Billy Jones",
"email": "billy@appointedd.com"
}
],
"require": {
"php": ">=5.3.0",
"illuminate/support": "4.1.*",
"guzzlehttp/guzzle": "~4.0"
},
"autoload": {
"psr-0": {
"Appointedd\\Appointedd": "src/"
}
},
"minimum-stability": "stable"
}
目前标有版本0.0.3
。我是否应该将composer.json
文件更新为要求4.2。*并将其标记为0.1.0
或使用更有意义的名称?
答案 0 :(得分:1)
问题是4.1和4.2之间的差异是否需要以不同的方式支持它。语义版本控制应该保证较新的次要版本仅引入与BC兼容的功能和错误修复。
关于您的问题,您可以在composer.json
文件中添加版本范围,如here所述:
范围> = 1.0> = 1.0,< 2.0> = 1.0,< 1.1 | > = 1.2使用比较 运算符,您可以指定有效版本的范围。有效运营商 是>,> =,<,< =,!=。您可以定义多个范围,以a分隔 逗号,将被视为逻辑AND。管道符号|将会 被视为逻辑OR。 AND的优先级高于OR。
在你的情况下,它会是这样的:
"illuminate/support": ">=4.1.0,<4.3",