Ошибка 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 - происходит сбой с ошибкой, что он не может найти поставщика /bin/phpunit.
На компьютере с Linux я удалил неработающий исполняемый файл vendor/bin/phpunit и удалил папку vendor/phpunit, а композитор заменил его через composer update, В этот момент я могу запустить модульные тесты снова, как и раньше. Однако это не так хорошо работает в Windows 7. Это сложнее.
Мой вопрос: я делаю что-то не так, отслеживая файлы через github, а затем работаю в разных операционных системах? Буду ли я избегать этой ошибки, если бы я только отслеживал composer.json и сохранить содержимое vendor/phpunit/phpunit каталог не отслеживается (и пусть файлы остаются с их конкретной ОС)? Спасибо, Адам.
1 ответ
Цель Composer в том, что вам просто нужно иметь пустой (!) vendor каталог в вашем репо, но отслеживать composer.json (требования) и composer.lock (последние проверенные конкретные версии) и запустить composer install после оформления заказа на новую разработку машины.
(NB. composer install установит конкретные версии в соответствии с composer.lock файл. composer update установит любую последнюю версию, соответствующую требованиям, определенным в composer.json.)
Затем Composer должен загрузить соответствующий двоичный файл для вашей системы и поместить его в vendor/bin/ каталог.