【问题标题】:How can I create a custom installer process for a project?如何为项目创建自定义安装程序流程?
【发布时间】:2021-10-31 19:16:39
【问题描述】:

我创建了一个 Symfony 项目,将在其他公司复制。

我想通过使用“composer create-project”之类的命令为其他公司简化此项目的安装,同时提出问题,这些问题将根据他们的答案修改.env。

我如何使用 Composer 完成此任务?

【问题讨论】:

    标签: php symfony installation composer-php


    【解决方案1】:

    composer create-project 只是克隆一个包的 VCS 存储库,然后执行composer install。 (Docs)。

    没有其他魔法。

    因此,您只需使用自定义 composer.json 创建一个包,声明您想要引导项目的任何依赖项:

    {
        "require": {
            "foo/bar": "^1.1",
            "fizz/buzz": "^3.0"
        }
    }
    

    要创建向用户提出问题并执行其他操作以响应的逻辑(例如,向.env 添加内容),您可以利用Package Events。特别是post-create-project-cmd。

    所以你会在骨架composer.json 中添加如下内容:

    {
        "require": {
            "foo/bar": "^1.1",
            "fizz/buzz": "^3.0"
        },
        "scripts":
        {
            "post-create-project-cmd": [
                "php bin/your_custom_setup_script.php"
            ]
        }
    }
    

    阅读更多关于设置脚本here。

    您必须自己编写自定义脚本的实际编码。它可以做任何您需要帮助引导安装的事情(更新配置、创建目录、清除缓存等)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多