https://github.com/symfony/sculptor/blob/6.4/composer.json中的composer.json文件包含属性
"flex-require": {
"symfony/console": "*",
"symfony/dotenv": "*",
"symfony/framework-bundle": "*",
"symfony/runtime": "*",
"symfony/yaml": "*"
},
flex-require
有什么作用?我在任何地方都找不到它的记录。
flex-require
由 Symfony Flex 插件利用。简单地说,
flex-require
上的任何内容都将合并到常规
require
部分
composer.json
中。这仅用于新项目模板的新安装(
create-project
)。在那里,基本的
require
只有裸露的平台必需品。在您链接的示例中:
{
"require": {
"php": ">=8.1",
"ext-ctype": "*",
"ext-iconv": "*",
"symfony/flex": "^2"
}
}
所以这基本上告诉作曲家检查 PHP 版本和几个扩展,然后安装 Flex。Flex 将接管,合并
flex-require
和
flex-require-dev
键(如果存在),然后继续安装。我想它没有记录在案,因为它仅用于框架发行版,并且通常对于库开发人员来说没有什么用处(尽管没有什么可以阻止您利用 Flex 插件来实现您自己的发行版用途)。