在作曲家上运行脚本时保持颜色输出


Keep color output when running scripts on composer

Composer 允许运行脚本,如定义脚本中所述。

因此,我正在尝试使用它运行一些规范测试。

{
    "scripts": {
        "test": "./vendor/davedevelopment/dspec/bin/dspec"
    },
    "require-dev": {
        "esperance/esperance": "dev-master",
        "davedevelopment/dspec": "dev-master"
    }
}

它运行良好,但没有颜色输出,对于规范测试,这很难读取。

如何运行脚本但保留原始彩色输出?

使用 --ansi 参数。

"test": "./vendor/davedevelopment/dspec/bin/dspec --ansi"

davedevelopment/dspec 库使用 symfony/console 组件。Symfony/console使用POSIX扩展来确定是否允许颜色输出。如果您希望默认显示颜色而不传递--ansi标志,则只需安装 POSIX 扩展。

我刚刚通过作曲家运行了phpunit,颜色就在那里。也许dspec脚本不支持颜色或默认情况下处于禁用状态。

"scripts" : {
  "test" : "./vendor/bin/phpunit -c tests/phpunit.xml"
},