Composer 1 (застарілий) і Composer 2 входять до наших хостинг-тарифів "Web Premium", "Web Business" і "Cloud", оскільки вони попередньо встановлені. Однак у Вас можуть виникнути проблеми, пов'язані зі встановленням пакетів, дозволами або пам'яттю. Щоб виявити та розв'язати ці проблеми, виконайте наведені нижче дії.
Оновіть версію до Composer 2
Усі версії PHP, починаючи з 8.0, Composer 1 більше не підтримують. Якщо Ви спробуєте встановити пакети за допомогою Composer 1 з PHP 8.0 або новішої версії, з'явиться повідомлення про помилку із пропозицією оновити версію до Composer 2:
Щоб розв'язати цю проблему, скористайтеся командою composer2
замість застарілої команди composer
. Наприклад, для встановлення пакета gumlet/php-image-resize використайте таку команду:
composer2 require gumlet/php-image-resize
Команда може бути інтерпретована автоматично, щоб спробувати встановити пакунок за допомогою версії 2.0, якщо вона доступна. В іншому випадку Ви можете спробувати скористатися командою composer2.
Якщо потрібна команда або пакет доступні лише у Composer 1, Ви можете тимчасово скористатися старішою версією PHP. Однак з міркувань безпеки рекомендується оновити скрипти або код для роботи з останньою версією PHP.
Відмовлено в дозволі
Встановлення Composer 1 і Composer 2 є глобальною на всіх наших серверах. Це означає, що доступні версії є фіксованими. Спробуйте оновити Composer за допомогою наступних команд:
composer self-update
або composer self-update --2
Або інші команди, які вимагають вищих дозволів, можуть призвести до помилки "Відмовлено в дозволі":
Щоб розв'язати цю проблему, потрібно завантажити та встановити Composer локально для кожного проєкту. Щоб завершити процес, скористайтеся цим посібником: Як встановити Composer локально?
Після встановлення Ви побачите новий файл composer.phar у шляху встановлення:
Тепер Ви можете запустити будь-яку команду, включно з self-update
, виконавши її локально. Використовуйте цей формат:
./composer.phar [COMMAND]
Наприклад, щоб оновити Composer локально, введіть:
./composer.phar self-update --2
Вичерпано пам'ять
Якщо після запуску команд Composer виникає помилка "Пам'ять вичерпано", це означає, що Ваш проєкт перевищив ліміт пам'яті, доступний у Вашому хостинг-тарифі.
Щоб розв'язати цю проблему, спробуйте запустити Composer з прапорцем необмеженої пам'яті. Використовуйте цей формат для глобального Composer:
php -d memory_limit=-1 /usr/local/bin/composer [COMMAND]
Або цей формат для локального встановлення Composer:
php -d memory_limit=-1 composer.phar [COMMAND]
Якщо помилка не зникає, можливо, Вашому проєкту потрібно більше ресурсів. Ви можете змінити хостинг-тариф. Крім того, Ви можете запустити ресурсомісткі команди на локальному комп'ютері, а потім завантажити свій проєкт на хостинг.