当前位置:  开发笔记 > 编程语言 > 正文

在Composer配置中可能忽略子依赖?

如何解决《在Composer配置中可能忽略子依赖?》经验,为你挑选了1个好方法。

当我运行composer install时,它将安装我的所有"require"和另一个包的"require".

我的composer.json

{
    "name": "my_app",
    "require": {
        "some/package": "0.0.0"
    }
}

"孩子"的依赖

{
    "name": "some/package",
    "require": {
        "zendframework/zend-mail": "2.4.*@dev",
        "soundasleep/html2text": "~0.2",
        "mpdf/mpdf": "6.0.0",
        "endroid/qrcode": "1.*@dev"
    }
}

我知道可以忽略php扩展,但是这些第二个要求包呢?



1> derhasi..:

您可以使用replacecomposer.json 的属性忽略要下载的包:https://getcomposer.org/doc/04-schema.md#replace

这样你告诉作曲家,你自己采取或照顾该包的内容.

这可以帮助您忽略您确定不需要的包,但它有点hacky.所以要注意一些事情(比如测试)可能会破坏.更好的方法是从原始包的维护者处请求补丁,以使需求可选(通过suggest属性).

编辑: "禁用"要求的
示例zendframework/zend-mail:

{
    "name": "my_app",
    "require": {
        "some/package": "0.0.0"
    },
    "replace": {
        "zendframework/zend-mail": "*"
    }
}

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有