是否定义了 PHP Composer 存储库协议?

Is the PHP Composer Repository Protocol Defined?

在composer中,PHP的包管理系统,可以configure a repository。存储库是 composer 在需要查找包时将 "ask" 的系统。即

Composer: 嘿,存储库,我在哪里可以找到 foo/bar

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

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

是否在任何地方定义了上述简单英文描述的技术细节(即协议)?或者,换句话说,是否有任何地方 packages.json 模式文件的描述?

The documentation这个有点欠缺,只说

The main repository type is the composer repository. It uses a single packages.json file that contains all of the package metadata.

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

这是一个定义明确的协议,还是作曲家来源是 "composer repository" 应该如何表现的唯一真实来源?

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