error phpunit executável não encontrado

1

Em um projeto de API, temos composer.json definido como o seguinte:

{
    "require-dev": {
        "phpunit/phpunit": "4.7.*"
    },
     "require": {
        "monolog/monolog": "1.5.*"
    }
}

E, no primeiro composer install , tudo correu bem. Phpunit funcionou quando invocado com vendor/bin/phpunit . Minha máquina de trabalho é um sistema operacional Windows 7, no entanto, usamos git com este projeto, e quando eu trabalho com isso de outra máquina (Kubuntu 14.04), depois de fazer git pull , não consigo mais executar testes unitários com vendor/bin/phpunit - it falha com erro que não consegue encontrar o fornecedor / bin / phpunit.

Na máquina linux, eu deletei o executável / bin / phpunit executável, e removi a pasta vendor / phpunit, e o composer o substituiu via composer update . Nesse ponto, posso executar testes de unidade novamente como antes. No entanto, isso não funciona perfeitamente no Windows 7. É mais complicado.

Minha pergunta é: estou fazendo algo errado rastreando os arquivos pelo github e trabalhando em vários sistemas operacionais? Eu evitaria esse erro se eu apenas mantivesse o controle de composer.json e mantivesse o conteúdo do diretório vendor/phpunit/phpunit não rastreado (e deixasse os arquivos permanecerem com seu SO específico)? Obrigado, Adam.

    
por Adam T 14.07.2015 / 15:40

1 resposta

0

O propósito do Composer é que você só precisa ter um diretório vazio (!) vendor em seu repositório, mas rastrear composer.json (requisitos) e composer.lock (últimas versões específicas testadas) e executar composer install após checkout em uma nova máquina de desenvolvimento.

(NB composer install instalará as versões específicas de acordo com o arquivo composer.lock . composer update instalará qualquer versão mais recente que corresponda aos requisitos definidos no composer.json .)

O Composer deve então baixar o binário apropriado para o seu sistema e colocá-lo no diretório vendor/bin/ .

    
por 14.07.2015 / 16:38