Введение
Composer — это инструмент для управления зависимостями в PHP. Он позволяет объявлять библиотеки, от которых зависит ваш проект, и будет управлять (устанавливать/обновлять) их за вас.
Управление зависимостями
Composer — это не менеджер пакетов в том же смысле, что Yum или Apt. Да, он работает с «пакетами» или библиотеками, но он управляет ими на основе каждого проекта, устанавливая их в директорию (например, vendor) внутри вашего проекта. По умолчанию он ничего не устанавливает глобально. Таким образом, это менеджер зависимостей. Тем не менее, он поддерживает «глобальный» проект для удобства посредством команды global.
Эта идея не нова, и Composer сильно вдохновлен node's npm и ruby's bundler.
Предположим:
- У вас есть проект, который зависит от ряда библиотек.
- Некоторые из этих библиотек зависят от других библиотек.
Composer:
- Позволяет объявить библиотеки, от которых вы зависите.
- Определяет, какие версии каких пакетов могут и должны быть установлены, и устанавливает их (то есть загружает их в ваш проект).
- Вы можете обновить все ваши зависимости одной командой.
См. главу Основные возможности для получения более подробной информации об объявлении зависимостей.
Системные требования
Composer в последней версии требует PHP 7.2.5 для работы. Версия с долгосрочной поддержкой (2.2.x) по-прежнему поддерживает PHP 5.3.2+, если вы привязаны к устаревшей версии PHP. Также требуются некоторые чувствительные настройки php и флаги компиляции, но при использовании установщика вас будут предупреждать о любых несовместимостях.
Для установки пакетов из исходных кодов вместо обычных zip-архивов вам потребуется git, svn, fossil или hg, в зависимости от того, как контролируется версия пакета.
Composer многоплатформенный, и мы стремимся к тому, чтобы он работал одинаково хорошо на Windows, Linux и macOS.
Установка - Linux / Unix / macOS
Загрузка исполняемого файла Composer
Composer предлагает удобный установщик, который можно выполнить непосредственно из командной строки. Вы можете скачать этот файл или ознакомиться с ним на GitHub, если хотите узнать больше о внутренней работе установщика. Исходный код — обычный PHP.
Короче говоря, есть два способа установить Composer. Локально как часть вашего проекта или глобально как системный исполняемый файл.
Локально
Чтобы установить Composer локально, запустите установщик в каталоге вашего проекта. См. страницу загрузки для инструкций.
Установщик проверит несколько настроек PHP, а затем загрузит composer.phar в вашу рабочую директорию. Этот файл — бинарник Composer. Это PHAR (PHP архив), который, помимо прочего, является форматом архива для PHP, который можно запускать из командной строки.
Теперь запустите php composer.phar для запуска Composer.
Вы можете установить Composer в определённую директорию, используя опцию --install-dir, и дополнительно (пере)именовать её, используя опцию --filename. При запуске установщика, следуя инструкциям на странице загрузки, добавьте следующие параметры:
php composer-setup.php --install-dir=bin --filename=composer
Теперь запустите php bin/composer для запуска Composer.
Глобально
Вы можете поместить PHAR Composer в любое желаемое место. Если вы поместите его в каталог, который входит в состав вашего PATH, вы можете получить к нему глобальный доступ. В системах Unix вы даже можете сделать его исполняемым и вызывать без прямого использования интерпретатора php.
После запуска установщика, следуя инструкциям на странице загрузки, вы можете запустить это, чтобы переместить composer.phar в каталог, который находится в вашей переменной PATH:
mv composer.phar /usr/local/bin/composer
Если вы хотите установить его только для своего пользователя и избежать необходимости прав администратора, вы можете использовать ~/.local/bin вместо, которое по умолчанию доступно в некоторых дистрибутивах Linux.
Примечание: Если вышеуказанное действие не выполняется из-за ограничений по правам доступа, возможно, потребуется запустить его снова с
sudo.Примечание: В некоторых версиях macOS каталог
/usrпо умолчанию не существует. Если вы получаете ошибку "/usr/local/bin/composer: No such file or directory", вам нужно создать каталог вручную перед продолжением:mkdir -p /usr/local/bin.Примечание: Для получения информации о изменении переменной PATH, пожалуйста, прочитайте статью Википедии и/или воспользуйтесь поисковой системой по вашему выбору.
Теперь запустите composer для запуска Composer вместо php composer.phar.
Установка - Windows
Использование установщика
Это самый простой способ настроить Composer на вашей машине.
Загрузите и запустите Composer-Setup.exe. Он установит последнюю версию Composer и настроит переменную PATH, так что вы сможете вызвать composer из любого каталога в вашей командной строке.
Примечание: Закройте текущий терминал. Проверьте использование с новым терминалом: это важно, так как переменная PATH загружается только при запуске терминала.
Ручная установка
Перейдите в каталог на вашей PATH и запустите установщик, следуя инструкциям на странице загрузки, чтобы скачать composer.phar.
Создайте новый файл composer.bat рядом с composer.phar.
Используя cmd.exe:
C:\bin> echo @php "%~dp0composer.phar" %*>composer.bat
Используя PowerShell:
PS C:\bin> Set-Content composer.bat '@php "%~dp0composer.phar" %*'
Добавьте каталог в переменную среды PATH, если она ещё не добавлена. Для получения информации об изменении переменной PATH, пожалуйста, обратитесь к этой статье и/или используйте поисковую систему по своему выбору.
Закройте текущий терминал. Проверьте использование с новым терминалом:
C:\Users\username>composer -V
Composer version 2.4.0 2022-08-16 16:10:48
Изображение Docker
Composer опубликован как контейнер Docker в нескольких местах, см. список в README composer/docker.
Пример использования:
docker pull composer/composer docker run --rm -it -v "$(pwd):/app" composer/composer install
Чтобы добавить Composer в существующий Dockerfile:
COPY --from=composer/composer /usr/bin/composer /usr/bin/composer
Прочитайте описание изображения для получения дополнительной информации об использовании.
Примечание: Проблемы, специфичные для Docker, следует сообщать на репозитории composer/docker.
Примечание: Вы также можете использовать composer вместо composer/composer в качестве имени изображения выше. Это короче и является официальным изображением Docker, но не публикуется нами напрямую, поэтому обычно новые релизы появляются с задержкой в несколько дней.
Использование Composer
Теперь, когда вы установили Composer, вы готовы к его использованию! Перейдите к следующей главе для краткого демонстрационного примера.
© Nils Adermann, Jordi Boggiano
Licensed under the MIT License.
https://getcomposer.org/doc/00-intro.md