Композитор має можливість завантажувати кілька залежностей лише під час розробки, тому інструменти не будуть встановлені у виробництві (на реальному сервері). Це (теоретично) дуже зручно для сценаріїв, які мають сенс лише в розробці, як тести, підроблені дані-інструменти, налагоджувач тощо.
Шлях слід додати додатковий require-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?
Примітка. Я намагаюся створити тут канонічне запитання для пояснення дивного розгортання композитора. Не соромтесь редагувати це питання.
composer.lock
Ніколи не повинні бути додані в репозиторій Git, НІКОЛИ. Правильний підхід - використовувати оновлення композитора під час постановки, а потім синхронізувати файл у виробництво (якщо, звичайно, все працює). Постановка повинна бути точною копією виробничого середовища. composer.lock
має бути частиною .gitignore
.