当我运行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扩展,但是第二个require包呢?
发布于 2017-07-18 19:09:37
您可以使用composer.json的replace属性忽略要下载的包:https://getcomposer.org/doc/04-schema.md#replace
这样您就可以告诉composer,您可以自己处理或处理包中的内容。
这可以帮助你忽略一个你确定不需要的包,但它有点老套。所以要注意一些事情(比如测试)可能会崩溃。一种更好的方法是向原始包的维护者请求一个补丁,以使需求成为可选的(通过suggest属性)。
编辑:
用于“禁用”对zendframework/zend-mail的要求的示例
{
"name": "my_app",
"require": {
"some/package": "0.0.0"
},
"replace": {
"zendframework/zend-mail": "*"
}
}发布于 2016-01-07 02:05:59
我知道忽略php扩展是可能的,但是第二个require包呢?
可以,您可以使用--ignore-platform-reqs忽略php、hhvm、lib-*和ext-*平台要求并强制安装,即使本地计算机不满足这些要求。
但是,我不确定你是不是在问你的问题。在您的应用程序中需要一个没有依赖项的包的用例是什么?这不是使用Composer的主要原因吗?
No,这是不可能的,除非你正在寻找require --no-update,它禁用了依赖项的自动更新。请看一下CLI options for require和install。
发布于 2019-02-25 18:48:29
另一种解决方法是:
Clone to >将软件包克隆到存储库并修复您的composer.json添加存储库:
"repositories": [
{ "type": "git", "url": "https://github.com/zhovtyj/mailchimp-laravel" }
],
"require": {
"php": "^7.1.3",
***
"skovmand/mailchimp-laravel": "dev-master",
},https://stackoverflow.com/questions/34637657
复制相似问题