Spec-Zone.ru › Composer

Введение

Composer — это инструмент для управления зависимостями в PHP. Он позволяет объявлять библиотеки, от которых зависит ваш проект, и будет управлять (устанавливать/обновлять) их за вас.

Управление зависимостями

Composer — это не менеджер пакетов в том же смысле, что Yum или Apt. Да, он работает с «пакетами» или библиотеками, но он управляет ими на основе каждого проекта, устанавливая их в директорию (например, vendor) внутри вашего проекта. По умолчанию он ничего не устанавливает глобально. Таким образом, это менеджер зависимостей. Тем не менее, он поддерживает «глобальный» проект для удобства посредством команды global.

Эта идея не нова, и Composer сильно вдохновлен node's npm и ruby's bundler.

Предположим:

  1. У вас есть проект, который зависит от ряда библиотек.
  2. Некоторые из этих библиотек зависят от других библиотек.

Composer:

  1. Позволяет объявить библиотеки, от которых вы зависите.
  2. Определяет, какие версии каких пакетов могут и должны быть установлены, и устанавливает их (то есть загружает их в ваш проект).
  3. Вы можете обновить все ваши зависимости одной командой.

См. главу Основные возможности для получения более подробной информации об объявлении зависимостей.

Системные требования

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API