Laravel & PHP Deep — фреймворки и пакеты

Composer ломается не в install, а в автозагрузке и конфликте зависимостей

Composer ломается не в install, а в автозагрузке и конфликте зависимостей

Чаще всего проблема не в «магии PHP», а в трёх местах:
• root-секция composer.json тащит лишнее в require
• пакеты требуют несовместимые constraints по Symfony/PSR
• автозагрузка классов расходится с реальной структурой файлов

Проверьте базовый порядок: сначала composer validate, потом composer diagnose, затем composer why и composer why-not. Эти команды быстро показывают, кто держит версию пакета, где конфликт и почему lock-файл не сходится с манифестом. Если после установки код падает на class not found, смотрите psr-4 mapping и регистр имён файлов — на Linux это всплывает сразу.

Ещё одна типовая ошибка — обновлять всё подряд без чтения дерева зависимостей. Безопаснее двигаться так: зафиксировать проблемный пакет, проверить его совместимость с соседями, после этого поднимать только нужную ветку. Если проект большой, отдельно держите dev-зависимости: они тоже умеют ломать установку и CI, даже если в проде не исполняются.

Итог простой: Composer надо проверять как граф, а не как список пакетов. Когда сломан инсталлер, ищите не «ошибку composer», а конкретную пару конфликтующих требований или неверную автозагрузку.
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.