我刚刚在我的电脑上设置了一个本地仓库,并且工作得非常好。
但问题是当我安装软件包时,composer工具首先检查packagist repo而不是我的本地repo。我想先检查本地仓库。怎么解决这个问题??。
这是我的全局config.json
{
"repositories": {
"local": {
"type": "composer",
"url": "http://localhost:9090"
}
}
任何帮助?
答案 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-dependencies
和require-all
可能有所帮助。