Composer - ошибка нехватки памяти
Часто бывает так что при использовании Composer вы сталкиваетесь с ошибкой, что лимит памяти исчерпан.
И как следствие весь процесс выполнения падает.
Как же выйти из данный ситуации?
Оказывается очень просто.
Composer — это инструмент для управления зависимостями в PHP. Он позволяет вам объявить библиотеки, от которых зависит ваш проект, и он будет устанавливать или обновлять их для вас.
Но бывает так что при использовании composer вы сталкиваетесь с ошибкой, что лимит памяти исчерпан.
Fatal error: Allowed memory size of 1610612736 bytes exhausted in ...
Эта ошибка может возникать, особенно когда вы обновляете большие библиотеки или библиотеки с большим количеством зависимостей. Composer может быть довольно прожорлив к памяти.
Что же можно сделать в таком случае?
Прежде всего убедитесь, что Composer обновлен до последней версии
php composer.phar --self-update
После этого вы увеличить memory_limit
в PHP
Это можно сделать как через настройки самого PHP, так и сразу в консоли
php -d memory_limit=-1 composer.phar update ...
Так же можно убрать ограничение памяти для самого Composer
COMPOSER_MEMORY_LIMIT=-1 php composer.phar install
Если вы используете Docker для поднятия окружения, то можно лимиты прописать сразу в конфигурации
version: '3'
services:
php:
...
environment:
COMPOSER_MEMORY_LIMIT: -1
Для получения дополнительной информации обращайтесь к официальной документации: https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors