Коротко: Composer — менеджер зависимостей PHP (7.2.5+); разбираем, как его установить и начать пользоваться.

Composer — менеджер зависимостей PHP: с его помощью можно устанавливать, обновлять и объявлять зависимости любого PHP-проекта (PHP 7.2.5 и выше). Сегодня редкий продукт на PHP обходится без Composer. Разберём, как его установить.

Как установить Composer?

Чтобы начать пользоваться Composer, его нужно установить — выполните в консоли ряд команд:

sudo apt-get update -y && sudo apt-get upgrade -y

sudo apt install php-cli unzip curl

curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php

HASH=`curl -sS https://composer.github.io/installer.sig`

php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer

После выполнения этих команд Composer будет установлен в ваш дистрибутив Linux и доступен по команде composer.

Проверка установки Composer

Сразу после установки убедитесь, что всё встало корректно:

composer --version
# или короче
composer -V

Команда должна вывести версию, например Composer version 2.7.x. Если консоль отвечает command not found — значит бинарник не в PATH (об этом ниже в разделе про ошибки).

Глобально или в проект

Есть два способа держать Composer, и они не взаимоисключающие:

  • Глобально — то, что мы сделали выше: положили composer в /usr/local/bin, и он доступен из любой папки. Удобно для повседневной работы.
  • Локально в проекте — иногда нужно зафиксировать конкретную версию Composer рядом с проектом (например, в CI). Тогда ставят composer.phar прямо в корень проекта и вызывают через php composer.phar install. Так у разных проектов может быть своя версия менеджера.

macOS и Windows

На macOS проще всего через Homebrew: brew install composer (PHP подтянется как зависимость). Ручная установка — те же шаги с getcomposer.org/installer, что и на Linux.

На Windows есть официальный установщик Composer-Setup.exe с сайта getcomposer.org — он сам находит PHP, прописывает PATH и не требует возни с консолью.

Частые ошибки при установке

  • composer: command not found — бинарник не в PATH. Либо кладите его в каталог из PATH (как /usr/local/bin выше), либо добавьте нужный путь в PATH.
  • Permission denied при установке в /usr/local/bin — не хватает прав на запись, используйте sudo для этого шага (в примере выше он уже есть).
  • PHP could not find a compatible Composer / несовместимая версия PHP — Composer 2.x требует PHP 7.2.5+. Проверьте php -v и при необходимости обновите PHP.
  • Allowed memory size exhausted на больших проектах — запускайте с увеличенным лимитом памяти: COMPOSER_MEMORY_LIMIT=-1 composer update.

Обновление Composer

Держать менеджер в актуальном состоянии просто:

composer self-update
# откатиться на предыдущую версию, если что-то сломалось:
composer self-update --rollback

Что дальше

После установки логичный следующий шаг — разобраться, как Composer организует автозагрузку классов по стандарту PSR-4. Об этом подробно в статьях: автозагрузка в PHP через Composer и — если хочется понять механику изнутри — PSR-4 автозагрузка без Composer, вручную.