【问题标题】:How do Symfony Flex recipes know what packages to install?Symfony Flex 配方如何知道要安装哪些包?
【发布时间】:2020-01-06 10:40:53
【问题描述】:

我试图了解 Symfony 配方如何知道要安装哪些包。

阅读源代码,在我看来,当我运行时

composer require twig

作曲家,将 flex 作为插件,

  1. 查找名为 twig 的别名
  2. 看到它已注册到配方 symfony/twig-pack
  3. 下载配方并读取其 manifest.json
  4. 执行 manifest.json 中定义的所有操作,例如创建额外文件或将内容附加到文件中

但我在 manifest.json 中看不到安装 实际包 symfony/twig-pack。

所有配方必须与他们正在安装的包共享他们的名字,这就是作曲家知道要安装什么包的方式,这只是暗示吗?

即开发人员不能只创建一个配方invented_company/nonexisting_package,它只是在此处添加一些文件并在此处附加几行,但实际上并不对应于 packagist 上的包?

【问题讨论】:

    标签: symfony symfony4 symfony-flex


    【解决方案1】:

    有创建配方的说明。

    它说

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

    https://github.com/symfony/recipes/blob/master/README.rst

    【讨论】:

    • 我一直在阅读该文档,但我将您提到的部分解释为关于命名,而不是关于包装和配方之间的一对一关系。最好包含“Flex 将自动为您安装同名的软件包并执行您的食谱”。但也许这从一开始就很清楚。感谢您抽出宝贵时间!
    猜你喜欢
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 2023-04-05
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多