我有一个 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 或者使用更有意义的名称?

有帮助吗?

解决方案

问题是 4.1 和 4.2 之间有什么区别,您需要以不同的方式支持它。语义版本控制应保证较新的次要版本仅引入 BC 兼容的功能和错误修复。

至于你的问题,你可以在你的 composer.json 文件,如上所述 这里:

范围> = 1.0> = 1.0,<2.0> = 1.0,<1.1 | > = 1.2通过使用比较操作员,您可以指定有效版本的范围。有效的操作员是>,> =,<,<=,!=。您可以定义由逗号隔开的多个范围,该范围将被视为逻辑。管道符号|将被视为逻辑或。AND 的优先级高于 OR。

在你的情况下,它会是这样的:

"illuminate/support": ">=4.1.0,<4.3",
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top