Интерфейс командной строки / Команды
Вы уже узнали, как использовать интерфейс командной строки для некоторых задач. В этом разделе описаны все доступные команды.
Чтобы получить справку из командной строки, вызовите composer или composer list, чтобы увидеть полный список команд, а затем --help в сочетании с любой из них, чтобы получить более подробную информацию.
Поскольку Composer использует symfony/console, вы можете вызывать команды по сокращённому имени, если оно не неоднозначно.
php composer.phar dump
вызывает composer dump-autoload.
Bash-дополнения
Чтобы установить bash-дополнения, можно выполнить composer completion bash > completion.bash. Это создаст файл completion.bash в текущем каталоге.
Затем выполните source completion.bash для включения дополнений в текущей сессии терминала.
Переместите и переименуйте файл completion.bash в /etc/bash_completion.d/composer, чтобы он загружался автоматически в новых терминалах.
Глобальные параметры
Все команды поддерживают следующие параметры:
- --verbose (-v): Увеличить подробность сообщений.
- --help (-h): Отобразить справку.
- --quiet (-q): Не выводить сообщения.
- --no-interaction (-n): Не задавать интерактивные вопросы.
- --no-plugins: Отключить плагины.
-
--no-scripts: Пропустить выполнение скриптов, определённых в
composer.json. - --no-cache: Отключить использование кеш-каталога. То же, что установить переменную окружения COMPOSER_CACHE_DIR в /dev/null (или NUL в Windows).
- --working-dir (-d): При указании, использовать указанный каталог в качестве рабочей директории.
- --profile: Отобразить информацию о времени выполнения и использовании памяти.
- --ansi: Вынудительно использовать ANSI вывод.
- --no-ansi: Отключить ANSI вывод.
- --version (-V): Отобразить версию приложения.
Коды завершения процесса
- 0: Всё в порядке.
- 1: Общая/неизвестная ошибка.
- 2: Ошибка решения зависимостей.
init
В главе Библиотеки мы рассмотрели, как создать composer.json вручную. Также доступна команда init для этой цели.
При выполнении команды будет интерактивно запрошено заполнение полей, используя разумные значения по умолчанию.
php composer.phar init
Параметры
- --name: Название пакета.
- --description: Описание пакета.
- --author: Имя автора пакета.
- --type: Тип пакета.
- --homepage: Домашняя страница пакета.
-
--require: Пакет, который нужно включить с ограничением версии. Должен быть в формате
foo/bar:1.0.0. - --require-dev: Требования разработки, см. --require.
-
--stability (-s): Значение для поля
minimum-stability. - --license (-l): Лицензия пакета.
-
--repository: Предоставьте один (или несколько) пользовательских репозиториев. Они будут сохранены в сгенерированном composer.json и будут использованы для автодополнения при запросе списка требований. Каждый репозиторий может быть либо HTTP URL, указывающим на репозиторий
composer, либо строкой JSON, аналогичной тому, что принимает ключ repositories. - --autoload (-a): Добавить отображение PSR-4 в composer.json. Автоматически сопоставляет пространство имён вашего пакета с указанной директорией. (Ожидается относительный путь, например src/) См. также PSR-4 автозагрузку.
install / i
Команда install читает файл composer.json из текущего каталога, решает зависимости и устанавливает их в vendor.
php composer.phar install
Если в текущем каталоге есть файл composer.lock, он будет использовать точные версии из него, вместо их решения. Это гарантирует, что все пользователи библиотеки получат одинаковые версии зависимостей.
Если файл composer.lock отсутствует, Composer создаст его после решения зависимостей.
Параметры
-
--prefer-install: Существует два способа скачивания пакета:
sourceиdist. Composer используетdistпо умолчанию. Если вы передадите--prefer-install=source(или--prefer-source) Composer установит изsource, если он есть. Это полезно, если вы хотите внести исправление в проект и получить локальный git-клон зависимости напрямую. Чтобы получить поведение по умолчанию, где Composer автоматически используетsourceдля версий dev-пакетов, используйте--prefer-install=auto. См. также config.preferred-install. Передача этого флага переопределит значение конфигурации. -
--dry-run: Если вы хотите выполнить установку без фактического её проведения, вы можете использовать
--dry-run. Это позволит смоделировать установку и показать, что произойдёт. -
--dev: Установить пакеты, указанные в
require-dev(это поведение по умолчанию). -
--no-dev: Пропустить установку пакетов, перечисленных в
require-dev. Генерация автозагрузчика пропускает правилаautoload-dev. Также см. COMPOSER_NO_DEV. - --no-autoloader: Пропускает генерацию автозагрузчика.
- --no-progress: Удаляет отображение прогресса, которое может создавать проблемы с некоторыми терминалами или скриптами, не обрабатывающими символы обратного удаления.
- --audit: Выполнить аудит после завершения установки.
- --audit-format: Формат вывода аудита. Должно быть "table", "plain", "json" или "summary" (по умолчанию).
- --optimize-autoloader (-o): Преобразовать автозагрузку PSR-0/4 в класс-карту для получения более быстрого автозагрузчика. Это рекомендуется, особенно для производства, но может потребовать некоторого времени, поэтому по умолчанию это не делается.
-
--classmap-authoritative (-a): Автозагружать классы только из класс-карты. Неявно включает
--optimize-autoloader. - --apcu-autoloader: Использовать APCu для кеширования найденных/ненайденных классов.
-
--apcu-autoloader-prefix: Использовать пользовательский префикс для кэша автозагрузчика APCu. Неявно включает
--apcu-autoloader. -
--ignore-platform-reqs: Игнорировать все требования к платформе (
php,hhvm,lib-*иext-*) и принудительно выполнить установку, даже если локальная машина не удовлетворяет этим требованиям. См. также параметр конфигурацииplatform. -
--ignore-platform-req: Игнорировать конкретное требование к платформе (
php,hhvm,lib-*иext-*) и принудительно выполнить установку, даже если локальная машина не удовлетворяет ему. Несколько требований можно игнорировать с помощью шаблонов. Добавление+игнорирует только верхнюю границу требований. Например, если пакет требуетphp: ^7, то опция--ignore-platform-req=php+позволит установить его на PHP 8, но установка на PHP 5.6 по-прежнему завершится ошибкой.
update / u
Для получения последних версий зависимостей и обновления файла composer.lock, следует использовать команду update. Эта команда также алиасирована как upgrade, поскольку выполняет те же действия, что и upgrade, если вы думаете о менеджерах пакетов типа apt-get.
php composer.phar update
Это позволит разрешить все зависимости проекта и записать точные версии в composer.lock.
Если вы хотите обновить только некоторые пакеты, а не все, вы можете перечислить их:
php composer.phar update vendor/package vendor/package2
Вы также можете использовать шаблоны для обновления сразу нескольких пакетов:
php composer.phar update "vendor/*"
Если вы хотите понизить версию пакета до определенной версии без изменения composer.json, вы можете использовать --with и указать пользовательское ограничение версии:
php composer.phar update --with vendor/package:2.0.1
Обратите внимание, что с вышеуказанным кодом все пакеты будут обновлены. Если вы хотите обновить только те пакеты, для которых вы предоставляете пользовательские ограничения, используя --with, вы можете пропустить --with и вместо этого использовать ограничения с синтаксисом частичного обновления:
php composer.phar update vendor/package:2.0.1 vendor/package2:3.0.*
Пользовательское ограничение должно быть подмножеством существующего ограничения, и эта функция доступна только для зависимостей вашего корневого пакета.
Options
-
--prefer-install: Существует два способа загрузки пакета:
sourceиdist. Composer используетdistпо умолчанию. Если вы передадите--prefer-install=source(или--prefer-source), Composer будет устанавливать изsourceесли таковой существует. Это полезно, если вы хотите внести исправление в проект и получить локальный git-клон зависимости напрямую. Чтобы получить устаревшее поведение, где Composer автоматически используетsourceдля версий пакетов dev, используйте--prefer-install=auto. См. также config.preferred-install. Передача этого флага переопределит значение конфигурации. - --dry-run: Моделирует команду, без фактического выполнения действий.
-
--dev: Установить пакеты, перечисленные в
require-dev(это поведение по умолчанию). -
--no-dev: Пропустить установку пакетов, перечисленных в
require-dev. Генерация автозагрузчика пропускает правилаautoload-dev. Также см. COMPOSER_NO_DEV. - --no-install: Не выполняет шаг установки после обновления файла composer.lock.
- --no-audit: Не выполняет шаги аудита после обновления файла composer.lock. Также см. COMPOSER_NO_AUDIT.
- --audit-format: Формат вывода аудита. Должен быть "table", "plain", "json" или "summary" (по умолчанию).
- --lock: Только обновляет хеш файла lock, чтобы подавить предупреждения о том, что файл lock устарел.
- --with: Временное ограничение версии для добавления, например foo/bar:1.0.0 или foo/bar=1.0.0
- --no-autoloader: Пропускает генерацию автозагрузчика.
- --no-progress: Удаляет отображение прогресса, которое может мешать некоторым терминалам или скриптам, которые не обрабатывают символы обратного пробела.
- --with-dependencies (-w): Также обновить зависимости пакетов в списке аргументов, за исключением тех, которые являются основными требованиями.
- --with-all-dependencies (-W): Также обновить зависимости пакетов в списке аргументов, включая те, которые являются основными требованиями.
- --optimize-autoloader (-o): Преобразовать автозагрузку PSR-0/4 в класс-карту для получения более быстрого автозагрузчика. Это рекомендуется, особенно для производства, но может занять некоторое время, поэтому по умолчанию это не делается.
-
--classmap-authoritative (-a): Автозагружать классы только из classmap. Неявно включает
--optimize-autoloader. - --apcu-autoloader: Использовать APCu для кеширования найденных/не найденных классов.
-
--apcu-autoloader-prefix: Использовать настраиваемый префикс для кеша автозагрузчика APCu. Неявно включает
--apcu-autoloader. -
--ignore-platform-reqs: игнорировать все требования платформы (
php,hhvm,lib-*иext-*) и принудительно установить даже если локальная машина не удовлетворяет этим требованиям. См. также опцию конфигурацииplatform. -
--ignore-platform-req: игнорировать определённое требование платформы (
php,hhvm,lib-*иext-*) и принудительно установить даже если локальная машина не удовлетворяет ему. Несколько требований могут быть проигнорированы с помощью подстановочных символов. Добавление+означает игнорирование только верхней границы требований. Например, если пакет требуетphp: ^7, то опция--ignore-platform-req=php+позволит установить на PHP 8, но установка на PHP 5.6 всё ещё завершится неудачей. - --prefer-stable: Предпочитать стабильные версии зависимостей. Также можно задать через переменную среды COMPOSER_PREFER_STABLE=1.
-
--prefer-lowest: Предпочитать самые низкие версии зависимостей. Полезно для тестирования минимальных версий требований, обычно используется с
--prefer-stable. Также можно задать через переменную среды COMPOSER_PREFER_LOWEST=1. - --interactive: Интерактивный интерфейс с автодополнением для выбора пакетов для обновления.
- --root-reqs: Ограничивает обновление до зависимостей первого уровня.
Указание одного из слов mirrors, lock, или nothing в качестве аргумента имеет тот же эффект, что и указание опции --lock, например, composer update mirrors эквивалентно composer update --lock.
require / r
Команда require добавляет новые пакеты в файл composer.json из текущего каталога. Если файла нет, он будет создан.
php composer.phar require
После добавления/изменения требований, изменённые требования будут установлены или обновлены.
Если вы не хотите выбирать требования интерактивно, вы можете передать их в команду.
php composer.phar require "vendor/package:2.*" vendor/package2:dev-master
Если вы не укажете пакет, Composer предложит вам поискать пакет и, на основании результатов, предоставит список совпадений для добавления.
Options
-
--dev: Добавить пакеты в
require-dev. - --dry-run: Моделировать команду без реального выполнения.
-
--prefer-install: Существует два способа загрузки пакета:
sourceиdist. Composer по умолчанию используетdist. Если вы передадите--prefer-install=source(или--prefer-source), Composer будет устанавливать изsource, если таковой имеется. Это полезно, если вы хотите внести исправление в проект и получить локальный git-клонированный зависимость напрямую. Чтобы получить поведение по умолчанию, где Composer автоматически используетsourceдля версий пакетов dev, используйте--prefer-install=auto. См. также config.preferred-install. Передача этого флага переопределит значение конфигурации. - --no-progress: Удаляет отображение прогресса, которое может мешать некоторым терминалам или скриптам, не обрабатывающим символы возврата.
- --no-update: Отключает автоматическое обновление зависимостей (подразумевает --no-install).
- --no-install: Не запускает этап установки после обновления файла composer.lock.
- --no-audit: Не запускает шаги аудита после обновления файла composer.lock. Также см. COMPOSER_NO_AUDIT.
- --audit-format: Формат вывода аудита. Должно быть "table", "plain", "json" или "summary" (по умолчанию).
-
--update-no-dev: Выполнить обновление зависимостей с опцией
--no-dev. Также см. COMPOSER_NO_DEV. - --update-with-dependencies (-w): Также обновлять зависимости вновь необходимых пакетов, за исключением тех, которые являются основными требованиями.
- --update-with-all-dependencies (-W): Также обновлять зависимости вновь необходимых пакетов, включая те, которые являются основными требованиями.
-
--ignore-platform-reqs: игнорировать все платформенные требования (
php,hhvm,lib-*иext-*) и принудительно установить даже если локальная машина не удовлетворяет им. См. также параметр конфигурацииplatform. -
--ignore-platform-req: игнорировать конкретное платформенное требование (
php,hhvm,lib-*иext-*) и принудительно установить даже если локальная машина не удовлетворяет ему. Несколько требований можно игнорировать с помощью подстановочных знаков. - --prefer-stable: Предпочитать стабильные версии зависимостей. Также можно установить через переменную окружения COMPOSER_PREFER_STABLE=1.
-
--prefer-lowest: Предпочитать самые низкие версии зависимостей. Полезно для тестирования минимальных версий требований, обычно используется с
--prefer-stable. Также можно установить через переменную окружения COMPOSER_PREFER_LOWEST=1. -
--sort-packages: Сортировать пакеты в
composer.json. - --optimize-autoloader (-o): Преобразовать автозагрузку PSR-0/4 в classmap для получения более быстрого автозагрузчика. Это рекомендуется особенно для производства, но может занять некоторое время, поэтому по умолчанию это не выполняется.
-
--classmap-authoritative (-a): Автозагружать классы только из classmap. Неявно включает
--optimize-autoloader. - --apcu-autoloader: Использовать APCu для кэширования найденных/ненайденных классов.
-
--apcu-autoloader-prefix: Использовать пользовательский префикс для кэша автозагрузчика APCu. Неявно включает
--apcu-autoloader.
remove
Команда remove удаляет пакеты из файла composer.json в текущем каталоге.
php composer.phar remove vendor/package vendor/package2
После удаления требований измененные требования будут удалены.
Options
-
--dev: Удалить пакеты из
require-dev. - --dry-run: Моделировать команду без фактического выполнения.
- --no-progress: Удаляет отображение прогресса, которое может создавать проблемы в некоторых терминалах или скриптах, не обрабатывающих символы обратного удаления.
- --no-update: Отключает автоматическое обновление зависимостей (подразумевает --no-install).
- --no-install: Не выполнять шаг установки после обновления файла composer.lock.
- --no-audit: Не выполнять шаги аудита после завершения установки. Также см. COMPOSER_NO_AUDIT.
- --audit-format: Формат вывода аудита. Должен быть "table", "plain", "json" или "summary" (по умолчанию).
- --update-no-dev: Выполнить обновление зависимостей с опцией --no-dev. Также см. COMPOSER_NO_DEV.
- --update-with-dependencies (-w): Также обновить зависимости удаленных пакетов. (Устаревшее, теперь является стандартным поведением)
- --update-with-all-dependencies (-W): Разрешить обновление всех унаследованных зависимостей, включая те, которые являются основными требованиями.
-
--ignore-platform-reqs: Игнорировать все требования платформы (
php,hhvm,lib-*иext-*) и принудительно выполнить установку, даже если локальная машина не удовлетворяет этим требованиям. Также см. параметр конфигурацииplatform. -
--ignore-platform-req: Игнорировать конкретное требование платформы (
php,hhvm,lib-*иext-*) и принудительно выполнить установку, даже если локальная машина не удовлетворяет ему. Несколько требований можно игнорировать с помощью шаблона. - --optimize-autoloader (-o): Преобразовать автозагрузку PSR-0/4 в classmap для получения более быстрого автозагрузчика. Рекомендуется, особенно для производства, но может потребовать некоторое время, поэтому по умолчанию не выполняется.
-
--classmap-authoritative (-a): Автозагружать классы только из classmap. Неявно включает
--optimize-autoloader. - --apcu-autoloader: Использовать APCu для кэширования найденных/ненайденных классов.
-
--apcu-autoloader-prefix: Использовать пользовательский префикс для кэша автозагрузчика APCu. Неявно включает
--apcu-autoloader.
bump
Команда bump увеличивает нижний предел требований вашего composer.json до текущих установленных версий. Это помогает гарантировать, что ваши зависимости случайно не будут понижены из-за какого-либо другого конфликта и может незначительно улучшить производительность разрешения зависимостей, так как она ограничивает количество версий пакетов, которые Composer должен просмотреть.
Слепое выполнение этой команды для библиотек НЕ рекомендуется, так как это сузит допустимые зависимости, что может вызвать проблемы с зависимостями у ваших пользователей. Однако выполнение ее с --dev-only для библиотек может быть приемлемым, так как требования dev локальны для библиотеки и не влияют на потребителей пакета.
Options
- --dev-only: Увеличить требования только в "require-dev".
- --no-dev-only: Увеличить требования только в "require".
reinstall
Команда reinstall ищет установленные пакеты по имени, удаляет их и переустанавливает. Это позволяет выполнить чистую установку пакета, если вы изменяли его файлы или хотите изменить тип установки, используя --prefer-install.
php composer.phar reinstall acme/foo acme/bar
Вы можете указать более одного имени пакета для переустановки или использовать подстановочные знаки для выбора нескольких пакетов одновременно:
php composer.phar reinstall "acme/*"
Options
-
--prefer-install: Есть два способа загрузки пакета:
sourceиdist. Composer используетdistпо умолчанию. Если вы передаете--prefer-install=source(или--prefer-source) Composer установит изsourceесли такой имеется. Это полезно, если вы хотите исправить ошибку в проекте и получить локальное git-клонирование зависимости напрямую. Для возврата к старому поведению, где Composer автоматически используетsourceдля dev версий пакетов, используйте--prefer-install=auto. См. также config.preferred-install. Передача этого флага переопределит значение конфигурации. - --no-autoloader: Пропускает генерацию автозагрузчика.
- --no-progress: Удаляет отображение прогресса, которое может создавать проблемы в некоторых терминалах или скриптах, не обрабатывающих символы обратного удаления.
- --optimize-autoloader (-o): Преобразовать автозагрузку PSR-0/4 в classmap для получения более быстрого автозагрузчика. Рекомендуется, особенно для производства, но может потребовать некоторое время, поэтому по умолчанию не выполняется.
-
--classmap-authoritative (-a): Автозагружать классы только из classmap. Неявно включает
--optimize-autoloader. - --apcu-autoloader: Использовать APCu для кэширования найденных/ненайденных классов.
-
--apcu-autoloader-prefix: Использовать пользовательский префикс для кэша автозагрузчика APCu. Неявно включает
--apcu-autoloader. - --ignore-platform-reqs: игнорировать все требования платформы. Это влияет только на контекст генерации автозагрузчика для команды reinstall.
- --ignore-platform-req: игнорировать конкретное требование платформы. Это влияет только на контекст генерации автозагрузчика для команды reinstall. Несколько требований можно игнорировать с помощью шаблона.
check-platform-reqs
Команда check-platform-reqs проверяет соответствие версий PHP и расширений требованиям платформы установленных пакетов. Это можно использовать для проверки того, что на сервере производства установлены все расширения, необходимые для запуска проекта после его установки, например.
В отличие от update/install, эта команда игнорирует настройки config.platform и проверяет реальные пакеты платформы, чтобы вы могли быть уверены, что у вас есть необходимые зависимости платформы.
Параметры
- --lock: Проверяет требования только из файла lock, а не из установленных пакетов.
- --no-dev: Отключает проверку требований пакетов require-dev.
- --format (-f): Формат вывода: текст (по умолчанию) или json
global
Команда global позволяет запускать другие команды, такие как install, remove, require или update, как будто вы запускаете их из каталога COMPOSER_HOME.
Это всего лишь помощник для управления проектом, хранящимся в центральном расположении, который может содержать инструменты командной строки или плагины Composer, которые вы хотите сделать доступными повсюду.
Это можно использовать для установки утилит командной строки глобально. Вот пример:
php composer.phar global require friendsofphp/php-cs-fixer
Теперь бинарник php-cs-fixer доступен глобально. Убедитесь, что ваш глобальный каталог vendor binaries находится в вашей переменной окружения $PATH, вы можете получить его расположение с помощью следующей команды:
php composer.phar global config bin-dir --absolute
Если вам нужно обновить бинарник позже, вы можете запустить глобальное обновление:
php composer.phar global update
search
Команда search позволяет искать пакеты в текущих репозиториях проекта. Обычно это будет packagist. Вы передаете ей термины, которые хотите найти.
php composer.phar search monolog
Вы также можете искать по нескольким терминам, передав несколько аргументов.
Параметры
- --only-name (-N): Искать только в именах пакетов.
- --only-vendor (-O): Искать только имена поставщиков/организаций, возвращает только "vendor" в качестве результата.
- --type (-t): Искать пакет определённого типа.
-
--format (-f): Позволяет выбрать между текстовым (по умолчанию) или json форматом вывода. Обратите внимание, что в json гарантированно присутствуют только ключи "name" и "description". Остальные (
url,repository,downloadsиfavers) доступны для результатов поиска Packagist.org, а другие репозитории могут возвращать больше или меньше данных.
show
Чтобы вывести список всех доступных пакетов, вы можете использовать команду show.
php composer.phar show
Чтобы отфильтровать список, вы можете передать маску пакета с использованием символов подстановки.
php composer.phar show "monolog/*"
monolog/monolog 2.4.0 Sends your logs to files, sockets, inboxes, databases and various web services
Если вы хотите увидеть подробности определенного пакета, вы можете передать имя пакета.
php composer.phar show monolog/monolog
name : monolog/monolog descrip. : Sends your logs to files, sockets, inboxes, databases and various web services keywords : log, logging, psr-3 versions : * 1.27.1 type : library license : MIT License (MIT) (OSI approved) https://spdx.org/licenses/MIT.html#licenseText homepage : http://github.com/Seldaek/monolog source : [git] https://github.com/Seldaek/monolog.git 904713c5929655dc9b97288b69cfeedad610c9a1 dist : [zip] https://api.github.com/repos/Seldaek/monolog/zipball/904713c5929655dc9b97288b69cfeedad610c9a1 904713c5929655dc9b97288b69cfeedad610c9a1 names : monolog/monolog, psr/log-implementation support issues : https://github.com/Seldaek/monolog/issues source : https://github.com/Seldaek/monolog/tree/1.27.1 autoload psr-4 Monolog\ => src/Monolog requires php >=5.3.0 psr/log ~1.0
Вы даже можете передать версию пакета, которая покажет вам подробности этой конкретной версии.
php composer.phar show monolog/monolog 1.0.2
Параметры
- --all: Вывести все пакеты, доступные во всех ваших репозиториях.
- --installed (-i): Вывести пакеты, которые установлены (это включено по умолчанию и устарело).
- --locked: Вывести заблокированные пакеты из composer.lock.
- --platform (-p): Вывести только пакеты платформы (php и расширения).
- --available (-a): Вывести только доступные пакеты.
- --self (-s): Вывести информацию о корневом пакете.
- --name-only (-N): Вывести только имена пакетов.
- --path (-P): Вывести пути к пакетам.
- --tree (-t): Вывести зависимости как дерево. Если вы передадите имя пакета, он покажет дерево зависимостей для этого пакета.
- --latest (-l): Вывести все установленные пакеты, включая их последнюю версию.
- --outdated (-o): Подразумевает --latest, но выводит только пакеты, у которых доступна более новая версия.
- --ignore: Игнорировать указанные пакеты. Используйте его с опцией --outdated, если вы не хотите получать информацию о новых версиях некоторых пакетов.
- --no-dev: Фильтрует зависимости dev из списка пакетов.
- --major-only (-M): Используйте с --latest или --outdated. Показывает только пакеты, у которых есть обновления, совместимые с основным SemVer.
- --minor-only (-m): Используйте с --latest или --outdated. Показывает только пакеты, у которых есть обновления, совместимые с дополнительной версией SemVer.
- --patch-only: Используйте с --latest или --outdated. Показывает только пакеты, у которых есть обновления, совместимые с патч-уровнем SemVer.
- --direct (-D): Ограничивает список пакетов вашими прямыми зависимостями.
- --strict: Возвращает код выхода, отличный от нуля, когда есть устаревшие пакеты.
- --format (-f): Позволяет выбрать между текстовым (по умолчанию) или json форматом вывода.
-
--ignore-platform-reqs: игнорирует все требования платформы (
php,hhvm,lib-*иext-*) и принудительно устанавливает даже если локальный компьютер не удовлетворяет этим требованиям. Используйте с опцией --outdated. -
--ignore-platform-req: игнорирует определенное требование платформы (
php,hhvm,lib-*иext-*) и принудительно устанавливает даже если локальный компьютер не удовлетворяет ему. Несколько требований могут быть проигнорированы с помощью символов подстановки. Используйте с опцией --outdated.
outdated
Команда outdated показывает список установленных пакетов, для которых доступны обновления, включая их текущие и последние версии. Это по сути алиас для composer show -lo.
Кодировка цветов выглядит следующим образом:
- зелёный (=): Зависимость имеет последнюю версию и обновлена.
-
жёлтый (
~): Для зависимости доступна новая версия, включающая разрывы обратной совместимости в соответствии с semver, поэтому обновление необходимо, но может потребовать работы. - красный (!): Для зависимости доступна новая версия, совместимая с semver, и её следует обновить.
Параметры
-
--all (-a): Показывает все пакеты, а не только устаревшие (алиас для
composer show --latest). - --direct (-D): Ограничивает список пакетов прямыми зависимостями.
- --strict: Возвращает код выхода, отличный от нуля, если какой-либо пакет устарел.
- --ignore: Игнорирует указанный(ые) пакет(ы). Используйте, если не хотите получать уведомления о новых версиях некоторых пакетов.
- --major-only (-M): Показывает только пакеты с обновлениями, совместимыми с SemVer по принципу major.
- --minor-only (-m): Показывает только пакеты с обновлениями, совместимыми с SemVer по принципу minor.
- --patch-only (-p): Показывает только пакеты с обновлениями, совместимыми с SemVer по принципу patch.
- --format (-f): Позволяет выбрать формат вывода: текстовый (по умолчанию) или json.
- --no-dev: Не отображать устаревшие зависимости dev.
- --locked: Показать обновления для пакетов из файла блокировки, независимо от того, что в настоящее время находится в каталоге vendor.
-
--ignore-platform-reqs: игнорирует все требования к платформе (
php,hhvm,lib-*иext-*) и принудительно выполняет установку, даже если локальная машина не соответствует им. -
--ignore-platform-req: игнорирует конкретное требование к платформе (
php,hhvm,lib-*иext-*) и принудительно выполняет установку, даже если локальная машина не соответствует ему. Несколько требований можно игнорировать с помощью подстановочных символов.
browse / home
Команда browse (алиас для home) открывает URL-адрес репозитория или домашнюю страницу пакета в вашем браузере.
Параметры
- --homepage (-H): Открыть домашнюю страницу вместо URL-адреса репозитория.
- --show (-s): Только показать домашнюю страницу или URL-адрес репозитория.
suggests
Выводит список всех пакетов, предлагаемых текущим набором установленных пакетов. Можно передать одно или несколько имён пакетов в формате vendor/package, чтобы ограничить вывод предложениями, сделанными только этими пакетами.
Используйте флаги --by-package (по умолчанию) или --by-suggestion для группировки вывода по пакету, предлагающему предложения, или по предлагаемым пакетам соответственно.
Если вам нужен только список имён предлагаемых пакетов, используйте --list.
Параметры
- --by-package: Группирует вывод по предлагаемому пакету (по умолчанию).
- --by-suggestion: Группирует вывод по предлагаемому пакету.
- --all: Показывает предложения от всех зависимостей, включая транзитивные (по умолчанию отображаются только предложения прямых зависимостей).
- --list: Показать только список имён предлагаемых пакетов.
-
--no-dev: Исключает предложения от пакетов
require-dev.
fund
Узнайте, как помочь профинансировать поддержку ваших зависимостей. Этот список содержит все ссылки на финансирование от установленных зависимостей. Используйте --format=json для получения машиночитаемого вывода.
Параметры
- --format (-f): Позволяет выбрать формат вывода: текстовый (по умолчанию) или json.
depends (why)
Команда depends показывает, какие другие пакеты зависят от определённого пакета. Как и при установке, require-dev отношения рассматриваются только для корневого пакета.
php composer.phar depends doctrine/lexer
doctrine/annotations 1.13.3 requires doctrine/lexer (1.*) doctrine/common 2.13.3 requires doctrine/lexer (^1.0)
Вы можете указать ограничение версии после имени пакета, чтобы сузить поиск.
Добавьте флаги --tree или -t для отображения рекурсивного дерева зависимостей, например:
php composer.phar depends psr/log -t
psr/log 1.1.4 Common interface for logging libraries ├──composer/composer 2.4.x-dev (requires psr/log ^1.0 || ^2.0 || ^3.0) ├──composer/composer dev-main (requires psr/log ^1.0 || ^2.0 || ^3.0) ├──composer/xdebug-handler 3.0.3 (requires psr/log ^1 || ^2 || ^3) │ ├──composer/composer 2.4.x-dev (requires composer/xdebug-handler ^2.0.2 || ^3.0.3) │ └──composer/composer dev-main (requires composer/xdebug-handler ^2.0.2 || ^3.0.3) └──symfony/console v5.4.11 (conflicts psr/log >=3) (circular dependency aborted here)
Параметры
- --recursive (-r): Рекурсивно разрешает зависимости до корневого пакета.
- --tree (-t): Выводит результаты в виде вложенного дерева, подразумевает -r.
prohibits (why-not)
Команда prohibits показывает, какие пакеты блокируют установку данного пакета. Укажите ограничение версии, чтобы проверить, можно ли выполнить обновление в вашем проекте, и если нет, то почему. Рассмотрите следующий пример:
php composer.phar prohibits symfony/symfony 3.1
laravel/framework v5.2.16 requires symfony/var-dumper (2.8.*|3.0.*)
Обратите внимание, что вы также можете указать требования к платформе, например, чтобы проверить, можно ли обновить ваш сервер до PHP 8.0:
php composer.phar prohibits php 8
doctrine/cache v1.6.0 requires php (~5.5|~7.0) doctrine/common v2.6.1 requires php (~5.5|~7.0) doctrine/instantiator 1.0.5 requires php (>=5.3,<8.0-DEV)
Как и с depends, можно запросить рекурсивный поиск, который отобразит все пакеты, зависящие от пакетов, вызывающих конфликт.
Параметры
- --recursive (-r): Рекурсивно разрешает зависимости до корневого пакета.
- --tree (-t): Выводит результаты в виде вложенного дерева, подразумевает -r.
validate
Перед коммитом файла composer.json и перед созданием тега выпуска всегда запускайте команду validate. Она проверит, является ли ваш файл composer.json валидным.
php composer.phar validate
Параметры
-
--no-check-all: Не выводить предупреждение, если требования в
composer.jsonиспользуют несвязанные или слишком строгие ограничения версий. -
--no-check-lock: Не выводить ошибку, если
composer.lockсуществует и не обновлён. -
--no-check-publish: Не выводить ошибку, если
composer.jsonне подходит для публикации в качестве пакета на Packagist, но в остальном является допустимым. - --with-dependencies: Также проверять composer.json всех установленных зависимостей.
- --strict: Возвращать код выхода неравный нулю для предупреждений, а также ошибок.
Статус
Если вам часто нужно изменять код ваших зависимостей, и они установлены из исходного кода, команда status позволяет проверить, есть ли у вас локальные изменения в любой из них.
php composer.phar status
С опцией --verbose вы получите больше информации о том, что было изменено:
php composer.phar status -v
You have changes in the following dependencies:
vendor/seld/jsonlint:
M README.mdown Самообновление (self-update)
Чтобы обновить Composer до последней версии, выполните команду self-update. Она заменит вашу composer.phar последней версией.
php composer.phar self-update
Если вы хотите обновить до определённой версии, укажите её:
php composer.phar self-update 2.4.0-RC1
Если вы установили Composer для всей системы (см. глобальную установку), вам может потребоваться выполнить команду с правами root
sudo -H composer self-update
Если Composer не был установлен как PHAR, эта команда недоступна. (Иногда это происходит, когда Composer был установлен менеджером пакетов операционной системы.)
Опции
- --rollback (-r): Вернуться к последней установленной версии.
- --clean-backups: Удалить старые резервные копии во время обновления. Это сделает текущую версию Composer единственной резервной копией после обновления.
- --no-progress: Не выводить прогресс загрузки.
- --update-keys: Запросить обновление ключа у пользователя.
- --stable: Принудительно обновить до стабильного канала.
- --preview: Принудительно обновить до канала предварительной версии.
- --snapshot: Принудительно обновить до канала снимков.
- --1: Принудительно обновить до стабильного канала, но использовать только версии 1.x
- --2: Принудительно обновить до стабильного канала, но использовать только версии 2.x
- --set-channel-only: Только сохранить канал в качестве стандартного и выйти
Настройка
Команда config позволяет редактировать настройки конфигурации Composer и репозитории в локальном файле composer.json или глобальном файле config.json.
Кроме того, она позволяет редактировать большинство свойств в локальном composer.json.
php composer.phar config --list
Использование
config [options] [setting-key] [setting-value1] ... [setting-valueN]
setting-key — это имя параметра конфигурации, а setting-value1 — значение параметра конфигурации. Для параметров, которые могут принимать массив значений (например, github-protocols), разрешено несколько аргументов «параметр-значение».
Вы также можете изменить значения следующих свойств:
description, homepage, keywords, license, minimum-stability, name, prefer-stable, type и version.
См. главу Настройка для допустимых параметров конфигурации.
Опции
-
--global (-g): Работать с глобальным файлом конфигурации, расположенным по умолчанию в
$COMPOSER_HOME/config.json. Без этой опции команда затрагивает локальный файл composer.json или файл, указанный с помощью--file. -
--editor (-e): Открыть локальный файл composer.json в текстовом редакторе, определённом переменной среды
EDITOR. С опцией--globalоткрывается глобальный файл конфигурации. - --auth (-a): Затронуть файл конфигурации аутентификации (используется только с --editor).
-
--unset: Удалить элемент конфигурации, имя которого
setting-key. -
--list (-l): Отобразить список текущих переменных конфигурации. С опцией
--globalотображаются только глобальные настройки. -
--file="..." (-f): Работать с конкретным файлом вместо composer.json. Обратите внимание, что это нельзя использовать совместно с опцией
--global. -
--absolute: Возвращает абсолютные пути при получении значений конфигурации
*-dirвместо относительных. -
--json: Декодировать значение параметра в формате JSON, для использования с ключами
extra.*. -
--merge: Объединить значение параметра с текущим значением, использовать с ключами
extra.*в сочетании с--json. - --append: При добавлении репозитория добавить его (самый низкий приоритет) к существующим, вместо добавления в начало (самый высокий приоритет).
- --source: Отобразить, откуда загружено значение конфигурации.
Изменение репозиториев
Помимо изменения раздела конфигурации, команда config также поддерживает внесение изменений в раздел репозиториев следующим образом:
php composer.phar config repositories.foo vcs https://github.com/foo/bar
Если ваш репозиторий требует дополнительных параметров конфигурации, вы можете вместо этого передать его представление в формате JSON:
php composer.phar config repositories.foo '{"type": "vcs", "url": "http://svn.example.org/my-project/", "trunk-path": "master"}' Изменение дополнительных значений
Помимо изменения раздела конфигурации, команда config также поддерживает внесение изменений в раздел extra следующим образом:
php composer.phar config extra.foo.bar value
Точки обозначают вложенность массива, максимальная глубина вложенности составляет 3 уровня, хотя. Вышеуказанное установит "extra": { "foo": { "bar": "value" } }.
Если у вас есть сложное значение для добавления/модификации, вы можете использовать флаги --json и --merge для редактирования дополнительных полей как JSON:
php composer.phar config --json extra.foo.bar '{"baz": true, "qux": []}' создание-проекта
Вы можете использовать Composer для создания новых проектов из существующего пакета. Это эквивалентно выполнению git clone/svn checkout, за которым следует composer install зависимостей.
Это полезно для следующих целей:
- Вы можете развернуть пакеты приложений.
- Вы можете получить любой пакет и начать разработку на основе, например, патчей.
- Проекты с несколькими разработчиками могут использовать эту функцию для создания исходного приложения для разработки.
Чтобы создать новый проект с помощью Composer, вы можете использовать команду create-project. Передайте ей имя пакета и каталог для создания проекта. Вы также можете указать версию в качестве третьего аргумента, в противном случае используется последняя версия.
Если каталог не существует, он будет создан во время установки.
php composer.phar create-project doctrine/orm path "2.2.*"
Также возможно выполнить команду без параметров в каталоге с существующим файлом composer.json для создания проекта.
По умолчанию команда проверяет пакеты на packagist.org.
Параметры
-
--stability (-s): Минимальная стабильность пакета. По умолчанию
stable. -
--prefer-install: Есть два способа загрузки пакета:
sourceиdist. Composer используетdistпо умолчанию. Если вы передадите--prefer-install=source(или--prefer-source) Composer установит изsource, если он есть. Это полезно, если вы хотите исправить ошибку в проекте и получить локальное git клонирование зависимости напрямую. Чтобы получить поведение по умолчанию, где Composer используетsourceдля версий разработчиков пакетов, используйте--prefer-install=auto. См. также config.preferred-install. Передача этого флага переопределит значение конфигурации. -
--repository: Укажите пользовательский репозиторий для поиска пакета, который будет использоваться вместо packagist. Это может быть HTTP-адрес, указывающий на репозиторий
composer, путь к локальному файлуpackages.json, или строка JSON, аналогичная тому, что принимает ключ repositories. Вы можете использовать это несколько раз для настройки нескольких репозиториев. - --add-repository: Добавить пользовательский репозиторий в composer.json. Если файл блокировки присутствует, он будет удален, и вместо установки будет выполнено обновление.
-
--dev: Установить пакеты, перечисленные в
require-dev. - --no-dev: Отключает установку пакетов require-dev.
- --no-scripts: Отключает выполнение скриптов, определённых в корневом пакете.
- --no-progress: Убирает отображение прогресса, которое может мешать некоторым терминалам или скриптам, не обрабатывающим символы Backspace.
- --no-secure-http: Временно отключить опцию secure-http при установке корневого пакета. Используйте на свой страх и риск. Использование этого флага — плохая идея.
- --keep-vcs: Пропустить удаление метаданных VCS для созданного проекта. Это в основном полезно, если вы выполняете команду в неинтерактивном режиме.
- --remove-vcs: Принудительно удалить метаданные VCS без запроса.
- --no-install: Отключает установку зависимостей.
- --no-audit: Не запускает шаги аудита после завершения установки. Также см. COMPOSER_NO_AUDIT.
- --audit-format: Формат вывода аудита. Должен быть «table», «plain», «json» или «summary» (по умолчанию).
-
--ignore-platform-reqs: игнорировать все требования к платформе (
php,hhvm,lib-*иext-*) и принудительно установить, даже если локальная машина не соответствует им. См. также параметр конфигурацииplatform. -
--ignore-platform-req: игнорировать конкретное требование к платформе (
php,hhvm,lib-*иext-*) и принудительно установить, даже если локальная машина не соответствует ему. Несколько требований могут быть проигнорированы с помощью символа подстановки. - --ask: Запросить у пользователя целевой каталог для нового проекта.
генерация-автозагрузчика (dumpautoload)
Если вам нужно обновить автозагрузчик из-за новых классов в пакете classmap, например, вы можете использовать dump-autoload для этого, не проходя через установку или обновление.
Кроме того, он может сгенерировать оптимизированный автозагрузчик, который преобразует пакеты PSR-0/4 в classmap для повышения производительности. В крупных приложениях с большим количеством классов автозагрузчик может занимать значительную часть времени каждого запроса. Использование classmap для всего неудобно при разработке, но с помощью этой опции вы все равно можете использовать PSR-0/4 для удобства и classmap для производительности.
Параметры
- --optimize (-o): Преобразовать автозагрузку PSR-0/4 в classmap для получения более быстрого автозагрузчика. Это рекомендуется, особенно для производства, но может занять некоторое время, поэтому по умолчанию это не выполняется.
-
--classmap-authoritative (-a): Автозагружать классы только из classmap. Неявно включает
--optimize. - --apcu: Использовать APCu для кэширования найденных/ненайденных классов.
-
--apcu-prefix: Использовать пользовательский префикс для кэша автозагрузчика APCu. Неявно включает
--apcu. -
--no-dev: Отключает правила автозагрузки dev. Composer по умолчанию автоматически определяет это в соответствии с последним
installилиupdate--no-devсостоянием. -
--dev: Включает правила автозагрузки dev. Composer по умолчанию автоматически определяет это в соответствии с последним
installилиupdate--no-devсостоянием. -
--ignore-platform-reqs: игнорировать все
php,hhvm,lib-*иext-*требования и пропустить проверку платформы для них. См. также опцию конфигурации проверки платформы дляplatform. -
--ignore-platform-req: игнорировать конкретное требование платформы (
php,hhvm,lib-*иext-*) и пропустить проверку платформы для него. Несколько требований можно игнорировать с помощью подстановочных знаков. - --strict-psr: Возвращает код ошибки (1), если есть ошибки сопоставления PSR-4 или PSR-0. Требуется --optimize для работы.
Очистка кэша / clearcache / cc
Удаляет все содержимое из каталогов кэша Composer.
Параметры
- --gc: Выполнить только сборку мусора, а не полное удаление кэша
Лицензии
Выводит имя, версию и лицензию каждого установленного пакета. Используйте --format=json для получения машиночитаемого вывода.
Параметры
- --format: Формат вывода: текст, json или сводка (по умолчанию: "текст")
- --no-dev: Удалить зависимости dev из вывода
Выполнение скрипта
Параметры
- --timeout: Установить таймаут скрипта в секундах или 0 для отсутствия таймаута.
- --dev: Устанавливает режим разработки.
- --no-dev: Отключить режим разработки.
- --list (-l): Вывести список пользовательских скриптов.
Чтобы выполнить скрипты вручную, вы можете использовать эту команду, указав имя скрипта и, при необходимости, требуемые аргументы.
exec
Выполняет исполняемый файл/скрипт из пакета vendor. Вы можете выполнить любую команду, и это гарантирует, что Composer bin-dir будет добавлен в PATH перед выполнением команды.
Параметры
- --list (-l): Список доступных исполняемых файлов Composer.
Диагностика
Если вы считаете, что нашли ошибку или что-то работает странно, вы можете запустить команду diagnose, чтобы выполнить автоматическую проверку на наличие многих распространённых проблем.
php composer.phar diagnose
Архивация
Эта команда используется для создания zip/tar архива для заданного пакета в заданной версии. Также её можно использовать для архивирования всего проекта без исключённых/проигнорированных файлов.
php composer.phar archive vendor/package 2.0.21 --format=zip
Параметры
- --format (-f): Формат создаваемого архива: tar, tar.gz, tar.bz2 или zip (по умолчанию: "tar").
- --dir: Сохранить архив в этот каталог (по умолчанию: ".")
- --file: Сохранить архив с заданным именем файла.
Аудит
Эта команда используется для проверки установленных пакетов на предмет возможных проблем безопасности. Она проверяет и выводит рекомендации по безопасности в соответствии с API Packagist.org.
php composer.phar audit
Параметры
- --no-dev: Отключает аудит пакетов require-dev.
- --format (-f): Формат вывода аудита. Должно быть "таблица" (по умолчанию), "простой", "json" или "сводка".
- --locked: Проверить пакеты из файла lock, независимо от того, что сейчас находится в директории vendor.
Справка
Чтобы получить больше информации о конкретной команде, вы можете использовать help.
php composer.phar help install
Завершение командной строки
Завершение командной строки можно включить, следуя инструкциям на этой странице.
Переменные окружения
Вы можете задать несколько переменных окружения, которые переопределяют определённые настройки. В случае возможности рекомендуется указать эти настройки в разделе config в composer.json вместо этого. Стоит отметить, что переменные окружения всегда имеют приоритет над значениями, указанными в composer.json.
COMPOSER
Установив переменную окружения COMPOSER, можно задать имя файла composer.json.
Например:
COMPOSER=composer-other.json php composer.phar install
Созданный файл lock будет иметь то же имя: composer-other.lock в этом примере.
COMPOSER_ALLOW_SUPERUSER
Если установлено в 1, эта переменная окружения отключает предупреждение о выполнении команд от имени пользователя root/superuser. Она также отключает автоматическое очищение сеансов sudo, поэтому вы должны установить это только в том случае, если вы используете Composer как пользователя root/superuser всегда, например, в контейнерах Docker.
COMPOSER_ALLOW_XDEBUG
Если значение установлено в 1, эта переменная окружения разрешает запуск Composer при включённом расширении Xdebug без перезапуска PHP.
COMPOSER_AUTH
Переменная COMPOSER_AUTH позволяет настроить аутентификацию как переменную окружения. Содержимое переменной должно быть объектом в формате JSON, содержащим объекты http-basic, github-oauth, bitbucket-oauth и т.д. по мере необходимости, и соответствующим спецификации из конфигурации.
COMPOSER_BIN_DIR
Установив этот параметр, вы можете изменить bin (каталог бинарных файлов зависимостей) на значение отличное от vendor/bin.
COMPOSER_CACHE_DIR
Переменная COMPOSER_CACHE_DIR позволяет изменить каталог кэша Composer, который также настраивается с помощью параметра cache-dir.
По умолчанию, он указывает на C:\Users\<user>\AppData\Local\Composer (или %LOCALAPPDATA%/Composer) в Windows. На системах *nix, которые следуют спецификациям XDG Base Directory, он указывает на $XDG_CACHE_HOME/composer. На других системах *nix и macOS он указывает на $COMPOSER_HOME/cache.
COMPOSER_CAFILE
Установив это значение в переменной окружения, вы можете задать путь к файлу сертификата, который будет использоваться во время проверки подлинности узла SSL/TLS.
COMPOSER_DISABLE_XDEBUG_WARN
Если установлено значение 1, эта переменная окружения подавляет предупреждение при запуске Composer с включённым расширением Xdebug.
COMPOSER_DISCARD_CHANGES
Эта переменная окружения управляет параметром конфигурации discard-changes.
COMPOSER_HOME
Переменная COMPOSER_HOME позволяет изменить домашний каталог Composer. Это скрытый, глобальный (для пользователя на машине) каталог, который используется всеми проектами.
Используйте composer config --global home для отображения расположения домашнего каталога.
По умолчанию, он указывает на C:\Users\<user>\AppData\Roaming\Composer в Windows и /Users/<user>/.composer на macOS. На системах *nix, которые следуют спецификациям XDG Base Directory, он указывает на $XDG_CONFIG_HOME/composer. На других системах *nix он указывает на /home/<user>/.composer.
COMPOSER_HOME/config.json
Вы можете поместить файл config.json в расположение, на которое указывает COMPOSER_HOME. Composer частично (только ключи config и repositories) объединит этот конфигурационный файл с конфигурацией вашего проекта composer.json при выполнении команд install и update.
Этот файл позволяет настроить репозитории и конфигурацию для проектов пользователя.
В случае совпадения глобальной и локальной конфигурации, локальная конфигурация в каталоге проекта composer.json всегда имеет приоритет.
COMPOSER_HTACCESS_PROTECT
По умолчанию установлено значение 1. Если установлено значение 0, Composer не будет создавать файлы .htaccess в каталогах Composer home, cache и data.
COMPOSER_MEMORY_LIMIT
Если установлено, значение используется как php's memory_limit.
COMPOSER_MIRROR_PATH_REPOS
Если установлено значение 1, эта переменная окружения изменяет стратегию репозитория по умолчанию на mirror вместо symlink. Поскольку это стратегия по умолчанию, она может быть переопределена параметрами репозитория.
COMPOSER_NO_INTERACTION
Если установлено значение 1, эта переменная окружения заставит Composer вести себя так, как если бы вы передали флаг --no-interaction каждой команде. Это может быть полезно на сборках/CI.
COMPOSER_PROCESS_TIMEOUT
Эта переменная окружения управляет временем ожидания Composer для завершения выполнения команд (таких как команды git). Значение по умолчанию составляет 300 секунд (5 минут).
COMPOSER_ROOT_VERSION
Установив эту переменную, вы можете указать версию корневого пакета, если её нельзя определить из информации о системе контроля версий и она отсутствует в composer.json.
COMPOSER_VENDOR_DIR
Установив эту переменную, вы можете настроить Composer на установку зависимостей в каталог, отличный от vendor.
COMPOSER_RUNTIME_ENV
Это позволяет указать среду, в которой запущен Composer, что может помочь Composer обойти некоторые проблемы, зависящие от среды. Единственное поддерживаемое значение в настоящее время — virtualbox, что активирует некоторые короткие sleep() вызовы для ожидания правильного записи файлов в файловой системе перед их чтением. Вы можете установить переменную окружения, если используете Vagrant или VirtualBox и сталкиваетесь с проблемами, когда файлы не обнаруживаются во время установки, хотя они должны присутствовать.
http_proxy or HTTP_PROXY
Если вы используете Composer через HTTP-прокси, вы можете использовать стандартные переменные окружения http_proxy или HTTP_PROXY. Установите её в URL вашего прокси. Многие операционные системы уже устанавливают эту переменную за вас.
Использование http_proxy (в нижнем регистре) или даже определение обеих переменных может быть предпочтительнее, так как некоторые инструменты, такие как git или curl, будут использовать только переменную http_proxy в нижнем регистре. В качестве альтернативы, вы также можете определить прокси git, используя git config --global http.proxy <proxy url>.
Если вы используете Composer в контексте, отличном от командной строки (например, интегрируете его в CMS или подобное), и вам нужно поддерживать прокси, пожалуйста, укажите переменную среды CGI_HTTP_PROXY вместо этого. Дополнительные сведения см. на сайте httpoxy.org.
COMPOSER_MAX_PARALLEL_HTTP
Установите значение целого числа, чтобы настроить количество файлов, которые можно загружать параллельно. По умолчанию значение равно 12, и оно должно находиться в диапазоне от 1 до 50. Если у вашего прокси возникают проблемы с одновременностью, возможно, вы захотите уменьшить это значение. Увеличение этого значения обычно не приводит к улучшению производительности.
HTTP_PROXY_REQUEST_FULLURI
Если вы используете прокси, но он не поддерживает флаг request_fulluri, то вы должны установить эту переменную среды в false или 0, чтобы предотвратить установку Composer опции request_fulluri.
HTTPS_PROXY_REQUEST_FULLURI
Если вы используете прокси, но он не поддерживает флаг request_fulluri для HTTPS-запросов, то вы должны установить эту переменную среды в false или 0, чтобы предотвратить установку Composer опции request_fulluri.
COMPOSER_SELF_UPDATE_TARGET
Если установлено, команда self-update запишет новый файл Composer phar в указанный путь вместо перезаписи самого себя. Полезно для обновления Composer на файловой системе только для чтения.
no_proxy или NO_PROXY
Если вы работаете через прокси и хотите отключить его для определенных доменов, вы можете использовать переменные среды no_proxy или NO_PROXY. Установите их в виде списка доменов, для которых прокси не должен использоваться, разделённых запятыми.
Переменная среды принимает домены, IP-адреса и блоки IP-адресов в нотации CIDR. Вы можете ограничить фильтр определенным портом (например, :80). Вы также можете установить её в *, чтобы проигнорировать прокси для всех HTTP-запросов.
COMPOSER_DISABLE_NETWORK
Если установлено значение 1, доступ к сети будет отключён (лучшее усилие). Это может быть полезно для отладки или для запуска Composer в самолёте или космическом корабле с плохим подключением.
Если установлено значение prime, репозитории GitHub VCS кешируются, так что позже их можно использовать полностью в автономном режиме с 1.
COMPOSER_DEBUG_EVENTS
Если установлено значение 1, выводится информация о событиях, которые отправляются, что может быть полезно авторам плагинов для определения того, что именно происходит.
COMPOSER_NO_AUDIT
Если установлено значение 1, это эквивалентно передаче опции --no-audit в команду require, update, remove или create-project.
COMPOSER_NO_DEV
Если установлено значение 1, это эквивалентно передаче опции --no-dev в команду install или update. Вы можете переопределить это для одной команды, установив COMPOSER_NO_DEV=0.
COMPOSER_PREFER_STABLE
Если установлено значение 1, это эквивалентно передаче опции --prefer-stable в команду update или require.
COMPOSER_PREFER_LOWEST
Если установлено значение 1, это эквивалентно передаче опции --prefer-lowest в команду update или require.
COMPOSER_IGNORE_PLATFORM_REQ или COMPOSER_IGNORE_PLATFORM_REQS
Если значение COMPOSER_IGNORE_PLATFORM_REQS установлено в 1, это эквивалентно передаче аргумента --ignore-platform-reqs. В противном случае, указание списка, разделенного запятыми, в COMPOSER_IGNORE_PLATFORM_REQ проигнорирует эти конкретные требования.
Например, если рабочая станция разработчика никогда не будет выполнять запросы к базе данных, это можно использовать для игнорирования требования наличия расширений базы данных. Если вы установите COMPOSER_IGNORE_PLATFORM_REQ=ext-oci8, Composer позволит устанавливать пакеты, даже если расширение PHP oci8 не включено.
← Библиотеки | Схема →
© Nils Adermann, Jordi Boggiano
Licensed under the MIT License.
https://getcomposer.org/doc/03-cli.md