你什么时候使用"require-dev"?什么是常见的dev依赖项?

Mar*_*Fox 5 php dependency-management composer-php

虽然我熟悉密钥的基础知识composer.json和指定依赖require项,但我还没有完全理解其目的require-dev- Composer的文档说明:

require-dev(仅限root)

列出开发此程序包或运行测试等所需的程序包.默认情况下会安装根程序包的开发人员要求.安装或更新都支持--no-dev选项,以防止安装dev依赖项.

在摘要中它是有道理的,但是当我需要这个功能时,我很难想象这些情况.

  1. require-dev工作流程中的实际用例是什么?
  2. 是否存在应该存在require-dev但不存在的示例包(或包)require

Sel*_*aek 11

一个常见的例子是phpunit,你需要在开发中运行你的测试套件,但通常不需要在生产中.它也可以是构建工具或类似的东西.尽管如此,将所有内容都放入需求中并没有太大的危害,只是意味着您的prod机器上安装了更多代码,并且可能会根据您的操作方式减慢构建速度.