Composer-将本地repo设置为第一个首选项


Composer - Set local repo as the first preference

我刚刚在我的电脑上设置了一个本地repo,它运行得很好。

但问题是,当我安装包时,composer工具首先检查packagegist repo,而不是本地repo。我想先检查一下本地回购。如何解决这个问题??。

这是我的全局配置.json

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

有什么帮助吗?

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


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

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

我认为解决方案是-在项目上设置"packagist":false-在您的satis配置中使用"require-dependencies": true

这意味着您需要的所有包都不是由Composer直接从Packagist(关闭)获取的,而是通过Satis服务器间接获取的。

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

我不能禁用packagist,因为我需要它来处理其他包裹。

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