虽然我熟悉composer.json
的基本知识并在require
键下指定依赖项,但我还不太了解require-dev
的用途——Composer的文档状态:
需要dev(仅限root用户)
列出开发此程序包或运行测试所需的程序包,等等。根包的开发要求由违约安装或更新都支持--no dev选项阻止安装dev依赖项。
抽象地说,这是有道理的,但当我需要这个功能时,我很难想象会出现什么情况。
require-dev
在工作流中的实际用例是什么- 是否有一个(或多个)示例包应位于
require-dev
中,但不应位于require
中
一个常见的例子是phpunit,您在开发中需要它来运行测试套件,但在生产中通常不需要它。它也可以是构建工具或类似的东西。不过,把所有东西都放在需求中并没有什么大的害处,这只是意味着你的prod机器上安装了更多的代码,并且可能会根据你的操作方式来放慢你的构建速度。