Вопрос №55398 от пользователя user-c54b9aa2c0ad1394 в уроке «Lock-файл», курс «PHP: Настройка окружения»

user-c54b9aa2c0ad1394

Предположим такую ситуацию. В composer.json прописана версия пакета А как * сам пакет А зависит от пакета Б При этом в обновленной версии пакета А применяется более свежая версия пакета Б, с более старой версией он работать не будет.

Что мы имеем при выполнении composer update: Пакет А обновится до более новой версии, а вот пакет Б прописан в composer.lock и обновлен не будет. Приплыли?

Или я что-то не до конца понял?

1 0

Roman Ashikov

Вы ведь всегда можете поэкспериментировать. Инициализируйте пустой проект. Установите старую версию какого-то пакета, у которого есть зависимости. А потом обновите его с помощью composer update. Чтобы увидеть, что именно поменялось в директории проекта перед обновлением можно инициализировать git репозиторий и сделать коммит, а потом глянуть изменения с помощью git diff.

Взгляните еще и вот сюда: https://getcomposer.org/doc/03-cli.md#update-u

In order to get the latest versions of the dependencies and to update the composer.lock file, you should use the update command.

То есть composer update обновляет зависимости и также обновляет lock-файл, который содержит информацию, в том числе о транзитивных зависимостях.

Кстати, рекомендую проделать все шаги из самостоятельной работы в конце урока. Там предлагается склонировать уже готовый проект и поэкспериментировать как раз с composer update.

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев