Я хотел бы предложить пользователям пакета composer интерфейс для выбора и установки любого из предложенный пакеты. Кажется, нет никакой опции командной строки, и в API я могу только найти getSuggests()
метод, который перечисляет предложенные пакеты.
Есть ли какой-либо способ (собственный или со сторонним установщиком), чтобы дать пользователю выбор для выбора предлагаемых пакетов?
Насколько я знаю, нет способа достичь этого с помощью обычной функциональности композитора.
Вы можете написать свои собственные сценарии для выполнения на post-package-install
, Но сценарии выполняются только если они определены в корневом пакете composer.json
(больше информации о том, как использовать скрипты посмотреть здесь). Сценарии, определенные в зависимостях, не выполняются из соображений безопасности (было обсуждение на GitHub Некоторое время назад об этом).
Но, может быть, плагин для композитора соответствует вашим потребностям. Плагины используются для расширения функциональности композиторов (больше информации о плагинах посмотреть здесь).
В качестве простого альтернативного способа я предлагаю определить предлагаемое сообщение пакета, например:
If you need XY functionality run: php composer.phar require vendor/package:2.*
И пользователь затем может использовать эту команду для его установки. Не так удобно, как вы просили, но все же достаточно легко для большинства пользователей.
composer suggests | xargs -i composer require {}
Пытаться
composer suggests
Добавьте флаг -v, чтобы сделать его подробным.
Это ничего не установит, просто перечислит все предложения. Однако вы можете передать его по требованию композитора и получить желаемый результат.
composer suggests | xargs -L 1 composer require
Должно работать из windows git bash.
Этот сделал это для меня 🙂
composer suggests | xargs -I '{}' composer require '{}'
Надеюсь, это поможет 🙂