有没有办法限制供应商的软件包版本要求

时间:2018-06-14 12:46:29

标签: php composer-php

我正在使用acelaya / zf2-acqrcode包(v0.2.0)它需要“endroid / qrcode”:“> = 1.2.0”,(意思是一切都高于或等于1.2.0)

目前最新版本的“endroid / qrcode”包= v3.2.12

acelaya / zf2-acqrcode包(v0.2.0)使用在endroid / qrcode版本中不再存在的函数> 1.9.3

有什么方法可以告诉作曲家不要安装高于1.9.3的版本的endroid / qrcode包?

2 个答案:

答案 0 :(得分:1)

是的,您可以使用composer.json中的~运算符来限制包版本。有关详情,请访问Here

希望这有帮助。

答案 1 :(得分:0)

使用以下命令将endroid/qrcode依赖关系锁定到1.9.3。子依赖项遵守此并尊重您已锁定acelaya/zf2-acqrcode的事实。

注意:只有当另一个依赖项需要>1.9.3 的<{1}}

时,才会失败
endroid/qrcode

按照以下命令运行命令:

{
    "require": {
        "endroid/qrcode": "1.9.3",
        "acelaya/zf2-acqrcode": "^1.0"
    }
}

以下是上述所需依赖项的输出:

/path/to/composer.phar require endroid/qrcode:1.9.3