- Введение
- Управление зависимостями в Composer
- Системные требования к Composer
- Установка Composer под Linux / Unix / macOS
- Установка Composer под Windows
- Образ Composer в Docker
- Использование Composer
Введение.
Composer — это инструмент для управления зависимостями в PHP. Он позволяет задать библиотеки, от которых зависит ваш проект, и будет управлять ими (устанавливать/обновлять) за вас.
Управление зависимостями в Composer.
Composer не является менеджером пакетов в том же смысле, что и Yum или Apt. Да, он работает с "пакетами" или библиотеками, но он управляет ими на основе отдельного проекта, устанавливая их в каталог (например, vendor
) внутри этого проекта. По умолчанию он не устанавливает ничего глобально. Таким образом, это менеджер зависимостей. Однако для удобства он позволяет создать "глобальный" проект с помощью команды global.
Эта идея не нова, и Composer в значительной степени опирается на идеи node npm и ruby bundler.
Предположим:
- У вас есть проект, который зависит от ряда библиотек.
- Некоторые из этих библиотек зависят от других библиотек.
Composer:
- Позволяет объявить библиотеки, от которых зависит проект.
- Выясняет, какие версии каких пакетов могут и должны быть установлены, и устанавливает их (то есть загружает их в данный проект).
- Вы можете обновить все зависимости одной командой.
Подробнее об объявлении зависимостей см. в главе "Базовое использование".
Системные требования к Composer.
Для работы Composer в его последней версии требуется PHP 7.2.5. Версия с долгосрочной поддержкой (2.2.x) все еще предлагает поддержку PHP 5.3.2+ на случай, если вы застряли с устаревшей версией PHP. Также требуется несколько важных настроек php и флагов компиляции, но при использовании программы установки вы будете предупреждены о любых несовместимостях.
Для установки пакетов из исходных текстов, а не простых zip-архивов, вам понадобится git, svn, fossil или hg, в зависимости от способа управления версиями пакета.
Composer является мультиплатформенным, и поэтому его разработчики стремятся к тому, чтобы он одинаково хорошо работал на Windows, Linux и macOS.
Установка Composer под Linux / Unix / macOS.
Загрузка исполняемого файла Composer.
Composer предлагает удобную программу установки, которую можно запустить прямо из командной строки. Можете скачать этот файл или просмотреть его на GitHub, если хотите узнать больше о внутренней работе программы установки. Исходным кодом является простой PHP.
Вкратце, есть два способа установки Composer. Локально, как часть вашего проекта, или глобально, как системный исполняемый файл.
Локальная установка 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.
Глобальная установка Composer.
Файлы Composer PHAR можно размещать где угодно. Если поместить его в каталог, который является частью PATH
, то можно получить к нему глобальный доступ. На Unix-системах его можно даже сделать исполняемым и вызывать без прямого использования интерпретатора php
.
После запуска программы установки, следуя инструкциям на странице загрузки, вы можете выполнить следующее действие, чтобы переместить composer.phar в каталог, который находится в вашем PATH:
mv composer.phar /usr/local/bin/composer
Если вы хотите установить его только для конкретного пользователя и не требовать прав root, можно использовать ~/.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 для Windows.
Это самый простой способ установить Composer на вашем компьютере.
Скачайте и запустите файл Composer-Setup.exe. Он установит последнюю версию Composer и настроит ваш PATH так, что вы сможете вызывать composer
из любого каталога в командной строке.
Примечание: Закройте существующий терминал. Проверьте работу с новым терминалом: Это важно, поскольку PATH загружается только при запуске терминала.
Ручная установка Composer под Windows.
Перейдите в каталог PATH
и запустите программу установки, следуя инструкциям на странице загрузки, чтобы загрузить файл composer.phar
.
Создайте новый файл composer.bat
рядом с composer.phar
:
Используя cmd.exe:
C:\bin> echo @php "%~dp0composer.phar" %*>composer.bat
Используя Powerbash:
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
Образ Composer в Docker.
Composer доступен как контейнер Docker в нескольких местах, см. список в composer/docker README.
Пример использования:
docker pull composer/composer
docker run --rm -it -v "$(pwd):/app" composer/composer install
Чтобы добавить Composer в существующий Dockerfile, можно просто скопировать бинарный файл из pre-built, low-size образов:
# Последний релиз
COPY --from=composer/composer:latest-bin /composer /usr/bin/composer
# Конкретный релиз
COPY --from=composer/composer:2-bin /composer /usr/bin/composer
Для получения дополнительной информации об использовании читайте описание образа.
Примечание: Вопросы, специфичные для Docker, следует отправлять в репозиторий composer/docker.
Примечание: Вместо composer/composer
можно также использовать composer
в качестве названия образа. Он короче и является официальным образом Docker, но не публикуется напрямую разработчиками Composer и поэтому обычно получает новые релизы с задержкой в несколько дней.
Важно: у образов short-aliased нет эквивалентов binary-only, поэтому для подхода COPY --from
лучше использовать composer/composer
.
Использование Composer.
Теперь, когда вы установили Composer, вы готовы к его использованию! Перейдите к следующей главе для короткой демонстрации.
Перевод с английского официальной документации Composer:
https://getcomposer.org/doc/00-intro.md
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)