Composer: Менее известные, но полезные команды

Источник: «Laravel Advanced: Lesser-Known, Yet Useful Composer Commands»
Composer — основной менеджер зависимостей для PHP, и если работаете с PHP, то уже знакомы с такими часто используемыми командами, как composer install и composer update. Composer также предоставляет несколько менее известных, но полезных при работе над приложениями в PHP, команд.

composer outdated

Вы когда-нибудь задумывались, какие из зависимостей вашего приложения устарели? composer outdated позволяет быстро получить информацию обо всех пакетах, для которых доступны более новые версии. По сути, это псевдоним команды composer show -lo. Это чрезвычайно удобно для поддержания проекта в актуальном и безопасном состоянии.

composer outdated

Она выводит список всех устаревших пакетов в проекте, показывая текущие и последние версии. Это удобный способ следить за обновлениями, не запуская вслепую composer update.

Цветовое кодирование выглядит следующим образом:

Опции команды composer outdated

composer show

Нужен обзор установленных пакетов? composer show выводит информацию обо всех пакетах, установленных в проекте.

composer show

Чтобы отфильтровать список, можно передать маску пакета, используя подстановочные знаки.

composer show "monolog/*"
monolog/monolog 2.4.0 Sends your logs to files, sockets, inboxes, databases and various web services

Его также можно использовать для получения подробной информации о конкретном пакете, передав имя пакета:

composer show vendor/package
# Example: composer show backpack/crud

Это отличный способ быстро просмотреть установленную версию, описание и зависимости любого пакета в проекте.

Опции команды composer show

composer why

Хотите выяснить, зачем установлен тот или иной пакет? composer why поможет проследить дерево зависимостей, чтобы понять, какой пакет его требует. Команда why псевдоним команды depends

composer why vendor/package

Добавьте флаг --tree или -t, чтобы, показать рекурсивное дерево причин зависимости пакета:

composer why 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)

Опции команды composer why

composer licenses

Хотите узнать лицензии используемых пакетов? composer licenses предоставляет сводную информацию о лицензиях всех установленных зависимостей. Это пригодится для обеспечения соответствия лицензиям открытых исходных кодов.

composer licenses

Используйте --format=json, чтобы получить машиночитаемый вывод.

Опции команды composer licenses

composer check-platform-reqs

Проверка установки всех необходимых PHP-расширений может доставить немало хлопот при работе над проектом в нескольких средах. Команда composer check-platform-reqs проверяет, соответствует ли ваша платформа требованиям пакета.

composer check-platform-reqs

Эта команда проверяет, что версия PHP и все необходимые расширения установлены и соответствуют ограничениям версии, указанным в файле composer.json.

В отличие от update/install, эта команда игнорирует настройки config.platform и проверяет реальные пакеты платформы, так что можете быть уверены, что у вас есть необходимые зависимости платформы.

Опции команды composer check-platform-reqs

Заключение

Несмотря на то, что основные команды Composer справляются со своей задачей, эти менее известные команды могут сэкономить время и избавить от лишних хлопот, предоставив более глубокое понимание и больший контроль над зависимостями проекта. Так что в следующий раз, когда откроете терминал, попробуйте эти команды и посмотрите, как они могут улучшить ваш опыт работы с PHP.

Дополнительные материалы

Предыдущая Статья

Генераторы статических сайтов (и какой из них выбрать)

Следующая Статья

Насколько строга ваша транспортная безопасность