Ошибка 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/
каталог.