--dev 参数用于将包安装到 require-dev 字段,仅限开发环境使用。它适用于测试、格式化等工具,如 phpunit/phpunit,而生产必需依赖则应使用 composer require 添加至 require 字段。部署时通过 composer install --no-dev 可跳过 require-dev 中的包,减小生产环境体积并提升安全性和效率。

在使用 Composer 安装 PHP 包时,composer require --dev 是一个常用命令,用于将某个依赖包添加到项目的开发环境依赖中。这意味着该包仅在开发阶段需要,比如用于代码测试、静态分析或构建流程,而不会在生产环境中安装。
什么是 --dev 参数?
--dev 参数告诉 Composer 将指定的包安装到 require-dev 字段中,而不是主 require 字段。这些包通常包括:
例如运行:
composer require --dev phpunit/phpunit
这条命令会把 phpunit 添加到 composer.json 文件的 require-dev 部分,并立即安装它。
require 和 require-dev 的区别
项目中的 composer.json 文件有两个关键字段:
- require:列出项目运行所必需的依赖,这些包在生产环境必须存在。
- require-dev:列出仅用于开发和测试的工具,部署到生产时可以通过 composer install --no-dev 跳过安装。
合理使用 --dev 可以减小生产环境的体积,提升部署效率,也能避免引入不必要的安全风险。
实际应用场景
你在本地开发时可能需要 PHPUnit 写测试,但上线后服务器不需要运行测试,这时就应使用 --dev:
composer require --dev phpunit/phpunit
而像数据库操作类库(如 doctrine/orm),是程序运行必需的,则应:
composer require doctrine/orm
部署到生产环境时,推荐执行:
composer install --no-dev
这样 Composer 不会安装 require-dev 中的包,确保环境干净高效。
基本上就这些。正确使用 --dev 能帮助你更好地区分开发与生产依赖,让项目更规范。










