Разница между запущенными сценариями композитора с run-script или без? - PullRequest
0 голосов
/ 23 сентября 2018

Из документации , если я хочу запустить скрипт Composer вручную, мне нужно набрать

composer run-script [--dev] [--no-dev] script-name

Но если я напишу

composer script-name

Сценарий будетбыть выполненным точно так же.

Я настраивал сценарии для запуска модульных и интеграционных тестов, и я действительно не вижу разницы между этими двумя подходами (с или без run-script part).

Есть ли и что это?Или это просто то, что было нужно в более ранних версиях Composer?Документация не дает подробностей об этом.

1 Ответ

0 голосов
/ 23 сентября 2018

Вам необходимо использовать 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

Однако в этом случае вы получите предупреждение о конфликте имени скрипта, и я не буду полагаться на него.В любом случае это не имеет особого смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...