Composer.lock: как это работает?
Я пытаюсь понять эту часть: http://getcomposer.org/doc/02-libraries.md#lock-file
этот файл блокировки не будет влиять на другие проекты, которые зависят от него. Это влияет только на основной проект "
Означает ли это, что если проект P зависит от библиотеки A, а библиотека A зависит от библиотеки B v1.3, проект P не заботится о версии библиотеки B и, возможно, будет устанавливать B 1.4? Какой смысл тогда?
Или это означает обратное, как можно было бы ожидать от менеджера зависимостей?
Ответы
Ответ 1
Зависимости композитора определяются в composer.json
. При запуске компоновщика в первый раз или при запуске обновления композитора будет создан файл блокировки с именем 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
.
Ответ 2
composer.lock
записывает точные версии, которые установлены. Так что вы в одной версии с вашими коллегами.
композитор установить
- Проверьте файл
composer.lock
- Если нет, автоматически сгенерируйте файл
composer.lock
(с помощью composer update
) - Установите указанные версии, записанные в файле
composer.lock
обновление композитора
- Просмотрите файл
composer.json
- Проверьте наличие более новых (последних) версий на основе указанных критериев версии (например, 1.12. *).
- Установите последние возможные (согласно вышеуказанным) версии
- Обновите файл
composer.lock
с установленными версиями
Так что в простом контрольном списке.
Если вы хотите, чтобы все сотрудники были в тех же версиях, что и вы...
- Зафиксируйте свой
composer.lock
в GIT (или у вас есть vcs) - Попросите других получить эту версию файла
composer.lock
- Всегда используйте
composer install
чтобы получить правильные зависимости
Если вы хотите обновить системные зависимости до новых версий
- Проверьте файл composer.json на наличие спецификаций версии.
-
composer update
- Это изменит файл
composer.lock
с новыми версиями - Передайте это в GIT (или VCS)
- Попросите других получить его и
composer install
Следующее будет очень хорошим чтением
https://blog.engineyard.com/2014/composer-its-all-about-the-lock-file
Наслаждайтесь мощью файла composer.lock
!
Ответ 3
Точка файла блокировки - это запись точных версий, которые установлены, чтобы их можно было повторно установить. Это означает, что если у вас есть спецификация версии 1. *, и ваш сотрудник запускает composer update
, который устанавливает 1.2.4, а затем записывает файл composer.lock, когда вы composer install
, вы также получите 1.2.4, даже если версия 1.3.0 была выпущена. Это гарантирует, что все, кто работает над проектом, имеют одинаковую точную версию. Подробнее читайте здесь Композитор: все о файле блокировки
Ответ 4
No se capo ндеаххххххххххххххххххххххххххх