Я пытаюсь понять эту часть: http://getcomposer.org/doc/02-libraries.md#lock-file
этот файл блокировки не будет влиять на другие проекты, которые зависят от него. Это влияет только на основной проект "
Означает ли это, что если проект P зависит от библиотеки A, а библиотека A зависит от библиотеки B v1.3, проект P не заботится о версии библиотеки B и, возможно, будет устанавливать B 1.4 вместо этого? Тогда какой смысл?
Или это означает обратное, как можно было бы ожидать от менеджера зависимостей?
Зависимости композитора определяются в composer.json
. При запуске компоновщика в первый раз или при запуске обновления composer.lock
будет создан файл блокировки с именем composer.lock
.
К цитируемой документации относится только файл блокировки. Если ваш проект P зависит от библиотеки A и A, зависит от B v1.3. ***, то если A содержит файл блокировки, в котором говорится, что кто-то запустил «обновление композитора», в результате чего был установлен B v1.3.2, затем установка A в вашем проекте P может все еще установить 1.3.3, так как composer.json
(not .lock
!) Определил зависимость, которая должна быть на 1.3. *.
Файлы блокировки всегда содержат точные номера версий и полезны для связи с проверенной вами версией с коллегами или при публикации приложения. Для библиотек важна информация о зависимостях в composer.json
.
composer.lock
записывает точные версии, которые установлены. Чтобы вы были в тех же версиях с вашими коллегами.
установка композитора
composer.lock
composer.lock
(используя composer update
) composer.lock
обновление композитора
composer.json
composer.lock
с установленными версиями Итак, в простой контрольный список.
Если вы хотите сохранить всех сотрудников в тех же версиях, что и вы …
composer.lock
с GIT (или vcs, который у вас есть) composer.lock
composer install
для получения правильных зависимостей Если вы хотите обновить системные зависимости до новых версий
composer update
composer.lock
с новейшими версиями composer install
Следующее будет очень хорошим чтением
https://blog.engineyard.com/2014/composer-its-all-about-the-lock-file
Наслаждайтесь мощью файла composer.lock
!
Точка файла блокировки – это запись точных версий, которые установлены, чтобы их можно было повторно установить. Это означает, что если у вас есть спецификация версии 1. *, и ваш сотрудник запускает composer update
которое устанавливает 1.2.4, а затем записывает файл composer.lock, когда вы composer install
, вы также получите 1.2.4, даже если версия 1.3.0 была выпущена. Это гарантирует, что все, кто работает над проектом, имеют ту же самую точную версию. Читайте больше здесь Композитор: это все о файле блокировки