ошибка исполняемый файл phpunit не найден

ошибка исполняемый файл phpunit не найден

В проекте API у нас composer.json установлен следующим образом:

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

И, на первый взгляд, composer installвсе было нормально. Phpunit работал при вызове с помощью vendor/bin/phpunit. Моя рабочая машина — ОС Windows 7, однако мы используем git с этим проектом, и когда я работаю над этим с другой машины (Kubuntu 14.04), после выполнения git pull, я больше не могу запускать модульные тесты с помощью vendor/bin/phpunit— он вылетает с ошибкой, что не может найти vendor/bin/phpunit.

На машине Linux я удалил неработающий исполняемый файл vendor/bin/phpunit, удалил папку vendor/phpunit и заставил composer заменить ее через composer update. В этот момент я снова могу запускать модульные тесты, как и раньше. Однако на Windows 7 это работает не так гладко. Это сложнее.

Мой вопрос: я делаю что-то неправильно, отслеживая файлы через github, а затем работая на разных операционных системах? Избежал бы я этой ошибки, если бы отслеживал composer.jsonи оставлял содержимое vendor/phpunit/phpunitкаталога неотслеживаемым (и позволял файлам оставаться с их конкретной ОС)? Спасибо, Адам.

решение1

Цель Composer заключается в том, что вам просто нужно иметь пустой(!) vendorкаталог в вашем репозитории, но отслеживать composer.json(требования) и composer.lock(последние протестированные конкретные версии) и запускать composer installпосле проверки на новой машине для разработки.

(Примечание. composer installБудут установлены конкретные версии в соответствии с composer.lockфайлом. composer updateБудут установлены любые последние версии, соответствующие требованиям, указанным в composer.json.)

Затем Composer должен загрузить соответствующий двоичный файл для вашей системы и поместить его в vendor/bin/каталог.

Связанный контент