Ошибка composer install часто блокирует деплой PHP-проекта: сайт не обновляется, приложение не запускается, а vendor не собирается.
Причины бывают разные: версия PHP не подходит, не хватает расширения, конфликтуют пакеты, поврежден composer.lock, нет доступа к приватному репозиторию или не хватает памяти.
Кому полезна эта статья
Статья для владельцев и разработчиков PHP-сайтов, Laravel/Symfony-проектов и старых приложений, где установка зависимостей останавливает запуск.
Что обычно ломается
- неподходящая версия PHP
- нет нужного PHP extension
- конфликт версий пакетов
- устаревший composer.lock
- ошибка доступа к приватному репозиторию
- не хватает памяти или прав на папку vendor
Как быстро сузить причину
- Сохранить полный текст ошибки Composer.
- Проверить версию PHP в CLI и на сайте.
- Проверить composer.json и composer.lock.
- Установить недостающие расширения.
- Запустить install в правильном окружении и проверить vendor.
Что не стоит делать наугад
- удалять composer.lock на production без понимания
- запускать update вместо install на боевом сервере наугад
- игнорировать разницу PHP CLI и PHP сайта
- ставить зависимости под root без нужды
Как я подхожу к задаче
Я разбираю ошибку Composer по тексту: требование пакета, версия PHP, расширение или доступ. Затем привожу окружение и lock-файл к рабочему состоянию.
- Сначала фиксирую симптом и проверяю, где именно обрывается сценарий.
- Смотрю логи, сетевые запросы, настройки CMS или сервера, а не угадываю по внешнему виду.
- Делаю минимальную правку, чтобы восстановить работу без лишнего риска.
- Проверяю результат на реальном пользовательском сценарии.
- Кратко объясняю причину и что лучше сделать для профилактики.
Что подготовить
- адрес сайта или конкретной страницы
- скриншот ошибки или точный текст сообщения
- что меняли перед появлением проблемы
- доступ к админке, хостингу, серверу или сервису, если он нужен
- понимание срочности: восстановить быстро или разобраться глубже
Сроки
| Недостающее расширение или версия PHP | 30-90 минут |
|---|---|
| Конфликт пакетов | 1-4 часа |
| Старый проект без актуального lock | после анализа |
Вопрос-ответ
Почему composer install работает локально, но падает на сервере?
Часто отличаются версия PHP, расширения, память, права или доступ к репозиториям.
Можно ли запускать composer update?
На production лучше осторожно. update меняет версии пакетов, а install ставит зафиксированные зависимости.
Что прислать для диагностики?
Полный текст ошибки, composer.json, composer.lock и версию PHP CLI.
Итог
Composer install ошибка обычно решается после точного разбора требований пакетов и окружения. Главное — не обновлять зависимости вслепую на рабочем сервере.
Если нужно быстро решить похожую задачу, напишите в Telegram: @rabotator_support. Посмотрю ситуацию, уточню доступы и скажу, какой вариант исправления будет самым аккуратным.