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