Ошибка composer install часто блокирует деплой PHP-проекта: сайт не обновляется, приложение не запускается, а vendor не собирается.

Причины бывают разные: версия PHP не подходит, не хватает расширения, конфликтуют пакеты, поврежден composer.lock, нет доступа к приватному репозиторию или не хватает памяти.

Кому полезна эта статья

Статья для владельцев и разработчиков PHP-сайтов, Laravel/Symfony-проектов и старых приложений, где установка зависимостей останавливает запуск.

Что обычно ломается

  • неподходящая версия PHP
  • нет нужного PHP extension
  • конфликт версий пакетов
  • устаревший composer.lock
  • ошибка доступа к приватному репозиторию
  • не хватает памяти или прав на папку vendor

Как быстро сузить причину

  1. Сохранить полный текст ошибки Composer.
  2. Проверить версию PHP в CLI и на сайте.
  3. Проверить composer.json и composer.lock.
  4. Установить недостающие расширения.
  5. Запустить install в правильном окружении и проверить vendor.

Что не стоит делать наугад

  • удалять composer.lock на production без понимания
  • запускать update вместо install на боевом сервере наугад
  • игнорировать разницу PHP CLI и PHP сайта
  • ставить зависимости под root без нужды

Как я подхожу к задаче

Я разбираю ошибку Composer по тексту: требование пакета, версия PHP, расширение или доступ. Затем привожу окружение и lock-файл к рабочему состоянию.

  1. Сначала фиксирую симптом и проверяю, где именно обрывается сценарий.
  2. Смотрю логи, сетевые запросы, настройки CMS или сервера, а не угадываю по внешнему виду.
  3. Делаю минимальную правку, чтобы восстановить работу без лишнего риска.
  4. Проверяю результат на реальном пользовательском сценарии.
  5. Кратко объясняю причину и что лучше сделать для профилактики.

Что подготовить

  • адрес сайта или конкретной страницы
  • скриншот ошибки или точный текст сообщения
  • что меняли перед появлением проблемы
  • доступ к админке, хостингу, серверу или сервису, если он нужен
  • понимание срочности: восстановить быстро или разобраться глубже

Сроки

Недостающее расширение или версия PHP30-90 минут
Конфликт пакетов1-4 часа
Старый проект без актуального lockпосле анализа

Вопрос-ответ

Почему composer install работает локально, но падает на сервере?

Часто отличаются версия PHP, расширения, память, права или доступ к репозиториям.

Можно ли запускать composer update?

На production лучше осторожно. update меняет версии пакетов, а install ставит зафиксированные зависимости.

Что прислать для диагностики?

Полный текст ошибки, composer.json, composer.lock и версию PHP CLI.

Итог

Composer install ошибка обычно решается после точного разбора требований пакетов и окружения. Главное — не обновлять зависимости вслепую на рабочем сервере.

Если нужно быстро решить похожую задачу, напишите в Telegram: @rabotator_support. Посмотрю ситуацию, уточню доступы и скажу, какой вариант исправления будет самым аккуратным.