是定义的PHP Composer存储库协议


Is the PHP Composer Repository Protocol Defined?

在composer,PHP的包管理系统中,可以配置存储库。存储库是一个composer在需要查找包时会"询问"的系统。即

作曲家:嘿,仓库,我在哪里可以找到foo/bar

存储库:您可以找到foo/bar(在此VCS存储库中|在此dist zip文件中)

默认情况下,composer在想查找内容时会查看packagist.org存储库。

上述简明英文描述的技术细节(即协议)是否在任何地方定义?或者,换一种说法,packages.json模式文件的任何地方都有描述吗?

这方面的文件有点少,只说

主要存储库类型是composer存储库。它使用一个包含所有包元数据的packages.json文件。

即使这样(在某些情况下)也是不准确的,因为packages.json文件可以包括其他json文件以避免超大的packages.json

这是一个定义良好的协议,还是作曲家来源是"作曲家库"行为真相的唯一来源?

看看satis。它是一个用于Composer的开源软件包存储库生成器。它生成一个Composer Repository文件。该文件有望告诉您更多关于packages.json模式的信息。Composer在他们的网站上没有对此进行很好的描述,这确实有点奇怪。