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

时间:2013-08-29 20:09:06

标签: php composer-php dependency-management

虽然我熟悉composer.json的基础知识并在require密钥下指定依赖项,但我还不太了解require-dev的目的 - Composer的文档说明:

  

require-dev (root-only)

     

列出开发此软件包或运行测试所需的软件包,   通过安装根包的开发需求   默认。安装或更新都支持--no-dev选项   防止安装dev依赖项。

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

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

1 个答案:

答案 0 :(得分:11)

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