Composer - 将本地仓库设置为首选

时间:2016-01-02 09:28:59

标签: php composer-php satis

我刚刚在我的电脑上设置了一个本地仓库,并且工作得非常好。

但问题是当我安装软件包时,composer工具首先检查packagist repo而不是我的本地repo。我想先检查本地仓库。怎么解决这个问题??。

这是我的全局config.json

{
"repositories": {
    "local": {
        "type": "composer",
        "url": "http://localhost:9090"
    }
}

任何帮助?

1 个答案:

答案 0 :(得分:0)

Satis在跑吗?

请浏览http://localhost:9090以确保这一点。

Satis需要正常运行并且必须列出您的包,然后才能使用composer.json(甚至将内容移至config.json)。

设置Satis的基本指南就在这里:https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md#satis

如果无法让Satis运行,请发布您的satis.json

您可以尝试从local删除密钥config.json,然后添加"packagist": false(以禁用Packagist查找)。

{
    "repositories": [
        { "packagist": false },
        {
            "type": "composer",
            "url": "http://localhost:9090"
        }
    ]
}

我认为解决方案是结合起来 - 项目的"packagist":false设置 - 在您满意的配置上使用"require-dependencies": true

这意味着Composer从Packagist(关闭)直接获取所需的所有包,但间接通过Satis服务器提取。

Satis将联系Packagist并将软件包下载到您的Satis空间(本地软件包缓存),Composer会从那里获取它们。

  

我无法禁用packagist,因为我需要其他包。

当您允许Satis获取它们时,您可以为项目全局禁用packagist。指令require-dependenciesrequire-all可能有所帮助。