composer 如何解析不完全限定为“webapp”或“profiler”的包名称?

问题描述 投票:0回答:1

当您进入 Symfony 项目(例如使用

composer create-project symfony/skeleton:"7.0.*" .
创建)并运行
composer require webapp
时,它将安装
symfony/webapp-pack

当只给出字符串

symfony/webapp-pack
时,composer 如何找到包名称
webapp

php symfony composer-php symfony-flex
1个回答
4
投票

Symfony 使用他们自己的 Composer 插件,称为 Flex。它与

require
进程挂钩。

\Symfony\Flex\PackageResolver::resolvePackageName()
来电:

\Symfony\Flex\Downloader::getAliases()
,HTTP 命中:

https://raw.githubusercontent.com/symfony/recipes/flex/main/index.json

其中包含 Symfony 特定作曲家别名的 JSON 编码列表:

    "web-server": "symfony/web-server-bundle",
    "web-server-bundle": "symfony/web-server-bundle",
    "webapp": "symfony/webapp-pack",
    "webhook": "symfony/webhook",
    "weblink": "symfony/web-link",

注意这不仅限于 Symfony 包。例如,还在该文件中:

"alice": "hautelook/alice-bundle",

所以,你可以这样做:

composer require alice
© www.soinside.com 2019 - 2024. All rights reserved.