Подтвердить что ты не робот

Composer.lock: как это работает?

Я пытаюсь понять эту часть: http://getcomposer.org/doc/02-libraries.md#lock-file

этот файл блокировки не будет влиять на другие проекты, которые зависят от него. Это влияет только на основной проект "

Означает ли это, что если проект P зависит от библиотеки A, а библиотека A зависит от библиотеки B v1.3, проект P не заботится о версии библиотеки B и, возможно, будет устанавливать B 1.4? Какой смысл тогда?

Или это означает обратное, как можно было бы ожидать от менеджера зависимостей?

4b9b3361

Ответ 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 ндеаххххххххххххххххххххххххххх