Команды Composer
Создание базового варианта файла composer.json
Создание базового варианта файла composer.json
с помощью мастера, посредством ответов на вопросы:
composer init
Обновление Composer
Команда для обновления Сomposer до последней версии:
composer self-update
Обновление lock файла без обновления пакетов
Для обновления файла composer.lock
без обновления самих пакетов:
composer update --lock
Проверка валидности файла composer.json
Команда с помощью которой можно проверить валидность файла composer.json
:
composer validate
Вывести зависимости для указанного пакета
Вывести все зависимости указанного пакета от других можно с помощью команды:
composer depends vendor/package
Вывод всех установленных библиотек
Команда для отображения всех установленных PHP пакетов:
composer show
Вывод списка всех доступных команд
Вывести на экран все доступные команды Composer можно так:
composer list
Получение подробной справки по команде
Вывод подробной справки по команде:
composer help имя_команды
Например, вывести подробную инструкцию по использованию команды require
можно следующим образом:
composer help require
Версии
При указании зависимостей в файле composer.json
необходимо указать версию пакета. Давайте рассмотрим варианты определения этих версий.
Точная версия
Вы можете указать точную версию пакета, тогда Composer
установит именно эту версию. Если для других зависимостей требуется иная версия, то процедура установки или обновления прервется с ошибкой:
"vendor/package": "1.0.2"
Диапазон версий
С помощью операторов сравнения вы можете указать диапазоны допустимых версий. Для этого можно использовать следующие операторы:
>
>=
<
<=
!=
Можно определить несколько диапазонов. Диапазоны, разделенные пробелом или запятой, будут рассматриваться как логические И
. Две вертикальные черты ||
будут рассматриваться как логическое ИЛИ
. И
имеет более высокий приоритет чем ИЛИ
:
"vendor/package1": ">1.0"
"vendor/package2": ">=1.0 <2.0"
"vendor/package3": ">=1.0 <1.1 || >=1.2"
Диапазон через дефис
Определяется диапазон с минимальной и максимальной границей версий. Если в правой части указать неполную версию, то она будет дополнена подстановочным знаком *
:
"vendor/package": "1.0.0 - 2.0.0" // эквивалентно ">=1.0.0 <=2.0.0"
# Неполная версия
"vendor/package": "1.0.0 - 2.0" //эквивалентно ">=1.0.0 <2.1" так как 2.0 превращается в 2.0.*
Подстановка
Для определения любых значений можно использовать шаблон со знаком *
:
"vendor/package": "1.0.*" // Эквивалентно ">=1.0.0 <1.1"
"vendor/package": "*" // Устанавливает последнюю версию. Данный вариант использовать не рекомендуется!
Тильда
Тильда ~
похожа на подстановку, но имеет одно отличие. Можно указать нижнюю границу версии, последняя цифра указанной версии может быть любой, не не ниже указанной:
"vendor/package": "~1.2.3" // Эквивалентно ">=1.2.3 <1.3.0"
"vendor/package": "~1.2" // Эквивалентно ">=1.2 <2.0.0"
Каретка
Каретку ^
часто используют при семантическом версионировании и для разрешения непрерывных обновлений. Её указывают для ограничения мажорной версии, чтобы гарантировать обратную совместимость:
"vendor/package": "^1.2.3" // Эквивалентно ">=1.2.3 <2.0.0"