Перейти до основного контенту
Усі колекціїУправління файламиПідключення по SSH
Як розв'язати поширені проблеми з Composer?
Як розв'язати поширені проблеми з Composer?

Розв'язання найпоширеніших проблем під час використання Composer у Hostinger

Оновлено понад 9 міс. тому

Composer 1 (застарілий) і Composer 2 входять до наших хостинг-тарифів "Web Premium", "Web Business" і "Cloud", оскільки вони попередньо встановлені. Однак у Вас можуть виникнути проблеми, пов'язані зі встановленням пакетів, дозволами або пам'яттю. Щоб виявити та розв'язати ці проблеми, виконайте наведені нижче дії.

Оновіть версію до Composer 2

Усі версії PHP, починаючи з 8.0, Composer 1 більше не підтримують. Якщо Ви спробуєте встановити пакети за допомогою Composer 1 з PHP 8.0 або новішої версії, з'явиться повідомлення про помилку із пропозицією оновити версію до Composer 2:

The message: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to 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 update failed error messgae indicating it is a read-only file system

Щоб розв'язати цю проблему, потрібно завантажити та встановити Composer локально для кожного проєкту. Щоб завершити процес, скористайтеся цим посібником: Як встановити Composer локально?

Після встановлення Ви побачите новий файл composer.phar у шляху встановлення:

The ls command showing the composer.phar file

Тепер Ви можете запустити будь-яку команду, включно з 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]

Якщо помилка не зникає, можливо, Вашому проєкту потрібно більше ресурсів. Ви можете змінити хостинг-тариф. Крім того, Ви можете запустити ресурсомісткі команди на локальному комп'ютері, а потім завантажити свій проєкт на хостинг.

Ви отримали відповідь на своє запитання?