2014-11-19 8 views
9

Composer consentire l'esecuzione di script, come detto in defining scripts.Mantieni l'output a colori durante l'esecuzione di script su compositore

Quindi, sto provando a eseguire alcuni test con le specifiche.

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

Funziona bene, ma non c'è alcun output a colori, e per i test delle specifiche questo rende difficile la lettura.

Come posso eseguire gli script mantenendo l'output colorato originale?

risposta

16

Utilizzare la --ansi param.

1

Ho appena eseguito phpunit tramite il compositore e i colori ci sono. Forse lo script dspec non ha supporto colore o è disabilitato per impostazione predefinita.

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

Forse qualche singolarità di 'dspec' allora. Darò un'occhiata più profonda – paulodiovani

+0

Ho problemi con PHPUnit che emette i colori tramite Composer. Ho provato vari modi per chiamarlo, ma finora non ho avuto fortuna. Qualche indicazione? Grazie! –

+5

Ho aggiunto '--colors = always' dal ramo PHPUnit master (4.6) che ha fatto il trucco. Sembra che PHPUnit in realtà rilevi che è chiamato attraverso altri script e sopprime i colori stessi. –

3

La libreria davedevelopment/dspec utilizza il componente symfony/console. Symfony/console utilizza l'estensione POSIX per determinare se consentire l'output a colori. Se si desidera che il colore venga visualizzato per impostazione predefinita senza passare il flag --ansi, è sufficiente installare l'estensione POSIX.

+0

'php -m | grep posix' mostra POSIX è installato qui, ma non sembra aiutare. – igorsantos07

Problemi correlati