Чем composer.json отличается от composer.lock?

Ответ

composer.json - описание проекта и его зависимостей с допустимыми диапазонами версий. composer.lock - зафиксированные точные версии всех зависимостей (включая транзитивные).

// composer.json
"require": {
    "guzzlehttp/guzzle": "^7.0"  // любая 7.x
}

// composer.lock
"packages": [{
    "name": "guzzlehttp/guzzle",
    "version": "7.8.1"  // точная версия
}]

composer install использует lock-файл (воспроизводимая сборка). composer update обновляет lock-файл по правилам из json.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.