我正在为Symfony 4.2应用程序构建一个新的捆绑软件,并且我想在捆绑软件安装后只运行一次特定的代码一次,以便在根项目中设置一些框架类。类似于制造商捆绑包,但没有手动交互。 已安装的捆绑软件应修改另一个捆绑软件的现有配置yaml(当然,安装后一次)。
我试过使用软件包的composer.json脚本部分,但没有走运。我没有在官方文档中找到如何解决此问题的参考。
有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
Symfony Flex是一种用于自动安装和删除捆绑软件及其他依赖项的工具。
您需要在此处为捆绑包添加recipe:https://github.com/symfony/recipes-contrib
如果您的捆绑包是私人的,则可以使用 Private Symfony Flex Recipes Repository
更新:@Mitesh Vasava方法将不起作用,因为首先,您需要将脚本手动设置到项目的 index value
1 1 10
2 2 20
3 3 30
中,而不是捆绑包中的composer.json
中。其次,此脚本将在每次安装后运行,而不仅仅是在安装捆绑软件之后运行。
答案 1 :(得分:1)
您可以按照@BoShurik的说明为Symfony Flex创建官方配方,也可以创建一个作曲家插件,您可以阅读有关here的信息。
基本方法是创建一个单独的软件包,将其用作安装程序,然后将其放在您的软件包中。
您的插件可以根据需要修改源代码。
答案 2 :(得分:0)
在执行composer安装或更新命令时,您必须在composer.json中定义脚本:
{
"scripts": {
"auto-scripts": [
],
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
}
}
您将在此link
中获得更多详细信息