有运行脚本与无运行脚本在运行作曲家脚本之间的区别?

时间:2018-09-23 09:55:51

标签: php composer-php

如果要手动运行Composer脚本,请从documentation中键入

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

但是如果我写

composer script-name

脚本将以相同的方式执行。

我正在设置脚本来运行单元测试和集成测试,并且我确实发现这两种方法(有或没有run-script部分)没有区别。

有没有,那是什么?还是仅仅是Composer早期版本中需要的东西?该文档没有提供太多细节。

1 个答案:

答案 0 :(得分:1)

您需要使用requests.get(f'{url}/{id}', ... 来运行standard scripts for events,例如,您需要它来手动运行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.  

AFAIK当您要运行自定义命令时,这两种方法之间没有区别。


不过,使用$ composer run-script post-update-cmd > echo My script My script ,您可以运行与composer内置命令同名的脚本:

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

但是,在这种情况下,您将收到有关脚本名称冲突的警告,而我不会依赖它。无论如何,这没有多大意义。