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», а конкретную пару конфликтующих требований или неверную автозагрузку.
Laravel & PHP Deep — фреймворки и пакеты
@laravel_php_deep
Composer ломается не в install, а в автозагрузке и конфликте зависимостей
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.