Я использую, как всегда, composer в своих проектах.
Как всегда, я отслеживаю файл composer.lock в git. Во-первых, потому что так мне сказал бывший ведущий разработчик. Во-вторых, потому что это действительно практика — получать одинаковые зависимости. И установить их легко на производстве.
Во всяком случае, я использую некоторую библиотеку на самом деле. Для этого требуется symfony/process. Проблема в том, что на рабочем сервере из-за версии PHP (5.4.44) у меня может быть только версия 2.8.6 symfony/process.
Но у большинства разработчиков у нас есть PHP5.6 или PHP7. Так что мы могли бы использовать symfony/process v3.0.6 (последняя стабильная версия).
Итак, в composer.json я указал require symfony/process = 2.8.6.
Так что у всех нас есть эта версия. Это работает, любая проблема.
У меня все еще есть вопрос, который беспокоит меня все время. В некотором роде я бы поместил версию >= 2.8.6 в composer.json, поэтому для разработки у нас может быть версия 3.0.6, а в производстве — совместимая версия.
Но в этом случае у нас все время будет конфликт с файлом composer.lock (между разработчиками и продакшеном). Таким образом, мы не могли отслеживать его больше. Но все же, мне нравится получать самую последнюю стабильную версию. И через несколько дней мы обновим рабочий сервер до PHP 5.6. Итак, используйте symfony/process до последней стабильной версии.
Итак, в таком случае я должен прекратить отслеживать composer.lock ? Как мы могли бы получить последнюю версию и сделать миграцию на PHP5.6 проще?
Или все же лучше отслеживать файл composer.lock.
Спасибо,