Композитор имеет возможность загружать несколько зависимостей только при разработке, поэтому инструменты не будут установлены в процессе производства (на реальном сервере). Это (теоретически) очень удобно для скриптов, которые имеют смысл только в разработке, таких как тесты, поддельные инструменты данных, отладчик и т.д.
Для этого нужно добавить дополнительный блок require-dev с инструментами, которые вам нужны в dev:
"require-dev": {
"codeception/codeception": "1.6.0.3"
}
а затем (теоретически) загружать эти зависимости через
composer install --dev
Проблема и вопрос:
Composer значительно изменил поведение install и update в 2013 году, require-dev -блокировки теперь установлены по умолчанию (!), не стесняйтесь создавать композитор .json с блоком require-dev и выполнять a composer install для воспроизведения.
Как наиболее распространенный способ развертывания - нажать на композитор. заблокировать (который содержит текущую настройку композитора), а затем сделать composer install на рабочем сервере, это также установит разработку вещи.
Каков правильный способ развертывания без установки зависимостей -dev?
Примечание. Я пытаюсь создать канонический Q/A здесь, чтобы прояснить странное развертывание Composer. Не стесняйтесь редактировать этот вопрос.