相关疑难解决方法(0)

如何从菜谱目录的内容生成私有菜谱 JSON?

我已经开发了一个 Symfony 包,并且正在尝试创建一个配方。在将其提交到 之前recipes-contrib,我想对其进行测试,因此我遵循了私有配方的说明- 不是因为我想要私有配方(也就是说,捆绑包和配方都不是私有 GitHub 项目意义上的“私有”) )。

我已经阅读、重新阅读、然后再次阅读创建菜谱的文档,我觉得我错过了一个非常重要的步骤。私有存储库的文档仅讨论 package.version.json 文件,例如

{
    "manifests": {
        "acme/private-bundle": {
            "manifest": {
                "bundles": {
                    "Acme\\PrivateBundle\\AcmePrivateBundle": [
                        "all"
                    ]
                },
                "copy-from-recipe": {
                    "config/": "%CONFIG_DIR%"
                }
            },
            "files": {
                "config/packages/acme_private.yaml": {
                    "contents": [
                        "acme_private:",
                        "    encode: true",
                        ""
                    ],
                    "executable": false
                }
            },
            "ref": "7405f3af1312d1f9121afed4dddef636c6c7ff00"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

该文件似乎是某个命令的输出,该命令以配方预期的格式读取文件contrib:一个目录结构,其中包含config路由和包的目录,可能是一个src目录等。

显然,没有人会逐行手动输入 YAML 文件(或 PHP!)作为密钥中的字符串列表content

看起来master食谱的分支recipes-contrib包含目录结构,并且flex/main分支包含“编译的”JSON 食谱文件。

但在私有配方说明中,没有说明如何从 DX 友好文件获取 …

php symfony composer-php symfony-flex

5
推荐指数
1
解决办法
1690
查看次数

通过 Composer 安装软件包后如何启动脚本?

我使用该命令composer require otra/otra:dev-develop --no-update --no-cache && composer update --no-autoloader来安装我自己的框架。

我已将此部分放在composer.json我的框架中:

"scripts": {
    "pre-install-cmd": "@composer config bin-dir bin/"
}
Run Code Online (Sandbox Code Playgroud)

但是 Composer 不运行它。这是否正常,Composer 是否将其视为依赖项而不是根包,因此它不允许我的脚本运行?

如果是这种情况,我怎么会有相同的行为?

我想要 :

  • 将我的二进制文件放在bin文件夹中,vendor/bin而不必要求用户手动执行符号链接(或其他解决方案)
  • 将一个web文件夹从我的框架复制到项目的根目录。

编辑:使用create-project命令 如果我输入composer create-project otra/otra:dev-develop crashtest --remove-vcs,我会得到这个composer.json

{
  "name": "otra/otra",
  "type": "library",
  "description": "The OTRA PHP framework",
  "keywords": ["framework"],
  "homepage": "https://github.com/lperamo/otra",
  "license": "X11",
  "authors": [
    {
      "name": "Lionel Péramo",
      "email": "contact@lionel-peramo.com",
      "homepage": "https://wexample.com"
    }
  ],
  "bin" : ["otra.php"], …
Run Code Online (Sandbox Code Playgroud)

php composer-php php-7.4

3
推荐指数
1
解决办法
1410
查看次数

标签 统计

composer-php ×2

php ×2

php-7.4 ×1

symfony ×1

symfony-flex ×1