【问题标题】:Meaning of the key packagist in composercomposer中key packagegist的含义
【发布时间】:2018-09-09 06:57:20
【问题描述】:

在我发现的许多项目的 composer.json 文件中:

"packagist" : false

我感兴趣的是此密钥的作用以及使用它的原因?
在 Composer 文档中,我读到它与存储库 packagist.org 有关,但我不太了解它(我是 composer 新手)。
最重要的是,我并不清楚其含义。到目前为止,我以为GitHub默认包含所有内容?

【问题讨论】:

    标签: php composer-php


    【解决方案1】:

    默认情况下,Composer 总是从 packagist.org 获取包。您可以使用包添加自己的存储库,但这些将添加到来自packagist.org 的包中。通过使用"packagist" : false,您可以忽略来自packagist.org 的包并仅使用自定义存储库 - 当您想要使用本地包源来更好地控制 Composer 正在安装的内容时,这可能很有用:

    "repositories": [
        {
            "packagist.org": false
        },
        {
            "type": "composer",
            "url": "http://packages.example.org/"
        }
    ],
    

    【讨论】:

    • 首先感谢您的解释。如果我理解正确,它只适用于具有相同名称和供应商的框架,不是吗?所以如果我有例如zendframework/zend-mvc 在我的自定义存储库中,然后我可以使用 packagist 条目来阻止从 packagist.org 下载相同的框架?如果我的框架改为 myvendor/zend-mvc 会发生什么?那这也行吗?
    • 自定义存储库可能会添加新包或替换现有包,因此它适用于两种情况。您不需要为此使用"packagist" : false,只需将您的自定义存储库添加到repositories 部分。 "packagist" : false 仅在您想要only 自定义存储库时才有意义(并忽略来自packagist.org 的这数千个包)。如果您没有任何理由忽略来自packagist.org 的软件包,那么请不要打扰这个选项 - 它非常适合您,我怀疑您是否真的需要它。
    猜你喜欢
    • 2014-10-31
    • 1970-01-01
    • 2015-01-28
    • 2020-08-26
    • 2015-12-20
    • 2012-06-10
    • 2014-07-29
    • 2014-03-03
    • 2021-03-31
    相关资源
    最近更新 更多