Вам необходимо использовать run-script
для запуска стандартных сценариев для событий , например, вам необходимо запустить post-update-cmd
сценарий вручную:
"scripts": {
"post-update-cmd": "echo My script"
},
Не работает:
$ composer post-update-cmd
[Symfony\Component\Console\Exception\CommandNotFoundException]
Command "post-update-cmd" is not defined.
Работа:
$ composer run-script post-update-cmd
> echo My script
My script
AFAIK Нет разницы между этими подходами, когда вы хотите запустить пользовательскую команду.
Однако с run-script
вы можете запускать сценарий с тем же именем, что и встроенная команда композитора:
"scripts": {
"install": "echo My script"
},
Выполнить команду composer install
:
$ composer install
A script named install would override a Composer command and has been skipped
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
Запустить install
script:
$ composer run-script install
A script named install would override a Composer command and has been skipped
> echo My script
My script
Однако в этом случае вы получите предупреждение о конфликте имени скрипта, и я не буду полагаться на него.В любом случае это не имеет особого смысла.