Перейти к содержимому
ФреймХаб
  • Composer и управление зависимостями
    • Качество и стиль кода
    • Основы Composer
    • Установка Composer
  • PHP-фреймворки
    • Laravel
    • Symfony и Laminas
    • Yii Framework
    • Обзоры и сравнения фреймворков
  • Архитектура и паттерны
    • MVC в PHP
    • ORM и работа с данными
    • Компоненты приложения
    • Принципы проектирования
  • Шаблонизаторы и вид
    • Выбор шаблонизатора
    • Миграция версий PHP
    • Производительность и очереди
    • Репозитории и пакеты
  • Composer и управление зависимостями
    • Качество и стиль кода
    • Основы Composer
    • Установка Composer
  • PHP-фреймворки
    • Laravel
    • Symfony и Laminas
    • Yii Framework
    • Обзоры и сравнения фреймворков
  • Архитектура и паттерны
    • MVC в PHP
    • ORM и работа с данными
    • Компоненты приложения
    • Принципы проектирования
  • Шаблонизаторы и вид
    • Выбор шаблонизатора
    • Миграция версий PHP
    • Производительность и очереди
    • Репозитории и пакеты
  1. Главная
  2. Основы Composer
  3. Как обновить зависимости в Composer: полный гайд на 2026 год
Основы Composer

Как обновить зависимости в Composer: полный гайд на 2026 год

Автор: Дмитрий Ковалёв 14.08.2024 3 мин чтения

Зачем обновлять зависимости в Composer

Каждый PHP-проект зависит от внешних пакетов: фреймворков, библиотек, утилит. Обновление зависимостей гарантирует доступ к исправлениям уязвимостей, новым возможностям и совместимости с актуальными версиями PHP. Однако без понимания механизмов Composer легко нарушить стабильность приложения.

Команда composer update — не просто «скачать новое». Она пересчитывает версии всех пакетов на основе правил из composer.json и обновляет composer.lock.

Файлы composer.json и composer.lock: в чём разница

Файл composer.json описывает зависимости проекта: имена пакетов и допустимые диапазоны версий. Например, запись "guzzlehttp/guzzle": "^7.0" разрешает установку любой версии 7.x, но не 8.0.

Файл composer.lock, в свою очередь, фиксирует конкретные версии всех установленных библиотек. Он гарантирует, что все разработчики и серверы используют одинаковый набор пакетов. При установке зависимостей на новой машине Composer читает именно этот файл, а не composer.json.

Как правильно обновить все зависимости

Команда composer update пересчитывает зависимости по правилам из composer.json и обновляет composer.lock. Выполняется она в корневом каталоге проекта через командную строку.

Важно: запускать composer update в production-среде — плохая практика. Лучше обновлять зависимости локально или в CI-среде, тестируя совместимость, и затем коммитить обновлённый composer.lock в репозиторий.

Обновление конкретной зависимости

Чтобы обновить только один пакет и одновременно зафиксировать новую версию в composer.json, используйте composer require имя/пакета. Эта команда добавит или заменит запись в composer.json и обновит composer.lock.

Пример: composer require guzzlehttp/guzzle:^7.8 установит последнюю стабильную версию в рамках 7.x и обновит конфигурацию проекта. Это предпочтительнее ручного редактирования composer.json.

Учёт версии PHP при обновлении

Composer учитывает версию PHP, установленную в системе. Но на хостинге она может отличаться от локальной. Чтобы избежать конфликта версий, укажите целевую версию явно: composer config platform.php 8.2.

Если нужно временно проигнорировать ограничения PHP (например, для тестирования), используйте флаг --ignore-platform-req=php+. Это отключает проверку совместимости с текущей версией PHP при установке.

Папка vendor и автозагрузка

Все зависимости устанавливаются в папку vendor в корне проекта. Внутри неё находится файл autoload.php — точка входа для автозагрузки классов. После любого обновления Composer перегенерирует этот файл.

Никогда не коммитьте папку vendor в Git. Вместо этого всегда включайте composer.lock — он содержит полную информацию о версиях, а установка происходит через composer install на каждой машине.

Центральный репозиторий и источник пакетов

Composer по умолчанию получает пакеты из Packagist — центрального репозитория PHP-библиотек. Большинство open-source решений, включая Laravel, Symfony и Guzzle, публикуются именно там.

Если проект использует приватные пакеты (например, из корпоративного репозитория GitHub), их источники нужно добавить в секцию repositories файла composer.json. Это не влияет на логику обновления, но расширяет доступные источники зависимостей.

Дмитрий Ковалёв
Backend-разработчик с 14-летним опытом работы с PHP. Участвовал в разработке крупных enterprise-проектов на Zend Framework и Symfony. Спикер российских IT-конференций.
Назад Dependency Injection в PHP: паттерн и контейнеры Вперёд Как установить Composer PHP на Windows

Похожие статьи

Composer PHAR Self Update: как обновлять безопасно
Как настроить composer php version: platform и require
Composer PHP: менеджер зависимостей для проектов

Читайте также

  • Auth Middleware в PHP: как работает и где применять
  • Чистая архитектура PHP: разбираем паттерн на практике в 2026 году
  • Composer PHAR Self Update: как обновлять безопасно
  • Dependency Injection в PHP: паттерн и контейнеры
  • Эволюция PHP ORM: от «толстых моделей» к архитектуре 2026 года
  • Composer PHP: менеджер зависимостей для проектов
  • Как установить Composer PHP на Windows
  • Политика конфиденциальности
  • Обработка персональных данных
  • Обратная связь
© 2026 ФреймХаб — PHP-фреймворки без воды