Composer php 如果我可以在composer.json中指定私有回购,为什么我必须使用Satis?

Composer php 如果我可以在composer.json中指定私有回购,为什么我必须使用Satis?,composer-php,satis,Composer Php,Satis,我正在开发一些我经常在多个项目中使用的库,并使用GIT对它们进行版本化 现在,我想通过Composer使用它们 我的问题来了:Composer让我能够指定一些私有存储库,我可以从中提取源代码以包含在我的应用程序中 然后,我发现Satis: 现在,我不太了解这两者之间的区别,以及使用Satis而不是通过Composer功能使用私有存储库可以获得哪些优势 我真的需要设置Setis服务器吗?它给我带来了哪些好处?默认情况下,Composer会在名为的特殊公共包存储库中从Composer.json中查找

我正在开发一些我经常在多个项目中使用的库,并使用GIT对它们进行版本化

现在,我想通过Composer使用它们

我的问题来了:Composer让我能够指定一些私有存储库,我可以从中提取源代码以包含在我的应用程序中

然后,我发现Satis:

现在,我不太了解这两者之间的区别,以及使用Satis而不是通过Composer功能使用私有存储库可以获得哪些优势

我真的需要设置Setis服务器吗?它给我带来了哪些好处?

默认情况下,Composer会在名为的特殊公共包存储库中从Composer.json中查找依赖项。 PackageGist存储每个添加的存储库位置及其依赖项。 运行composer安装时,composer会询问PackageGist依赖项及其位置,然后下载它们

但是当你有一个非常大的项目,有很多依赖关系,或者你正在频繁地构建你的项目,那么你很快就会遇到两个问题

第一个也是主要的问题是速度。如果您没有广泛的互联网连接,那么由团队所有成员同时构建应用程序可能需要大量时间

第二个问题是,像Github这样的公共存储库托管服务通常都有api请求

您可以通过本地基础设施中的Satis解决这两个问题。在这种情况下,Composer不会向Packagist查询您的依赖项,而是向您的Satis服务器查询它们

PackageGist是一个公共服务,但有时您希望添加另一个私有存储库作为依赖项。您可以在composer.json中添加一个特殊条目,使composer从其他位置下载此包。 如果您愿意,还可以制作Satis来镜像您的私有存储库,就像镜像公共存储库一样