Symfony Flex recipes如何知道要安装哪些软件包?

Symfony Flex recipes如何知道要安装哪些软件包?,symfony,symfony4,symfony-flex,Symfony,Symfony4,Symfony Flex,我试图了解Symfony recipes是如何知道要安装哪些软件包的 在阅读源代码时,我觉得当我运行 composer require twig 作曲家将flex作为插件 查找名为twig的别名 查看它已注册为配方symfony/twig包 下载配方并读取其manifest.json 执行manifest.json中定义的所有操作,如创建额外文件或向文件添加内容 但是我在manifest.json中没有看到安装实际软件包symfony/twig-pack的地方 这是否意味着所有recipes都

我试图了解Symfony recipes是如何知道要安装哪些软件包的

在阅读源代码时,我觉得当我运行

composer require twig
作曲家将flex作为插件

  • 查找名为twig的别名
  • 查看它已注册为配方symfony/twig包
  • 下载配方并读取其manifest.json
  • 执行manifest.json中定义的所有操作,如创建额外文件或向文件添加内容
  • 但是我在manifest.json中没有看到安装实际软件包symfony/twig-pack的地方

    这是否意味着所有recipes都有与正在安装的软件包共享它们的名称,而且这就是composer知道要安装哪个软件包的方式


    也就是说,开发人员不能仅仅创建一个公司/不存在的配方软件包,该软件包只在此处添加一些文件并在此处添加一些行,但实际上并不对应于PackageGist上的一个软件包。

    有创建配方的说明

    上面说

    配方必须存储在自己的存储库中,在Composer软件包存储库之外。它们必须遵循vendor/package/version/directory结构,其中version是配方支持的最低版本


    我一直在阅读这些文档,但我认为您提到的部分是关于命名的,而不是关于包和配方之间的1对1关系。如果包含一个“Flex将自动为您安装具有相同名称的软件包并执行您的配方”,那就太好了。但也许从一开始就很清楚。谢谢你抽出时间!