composer remove --dev 用于移除开发依赖。运行该命令时,Composer 会从 composer.json 的 require-dev 部分删除指定包,卸载其不再需要的依赖,并更新 composer.lock 文件,不影响 require 中的正式依赖。例如执行 composer remove --dev phpunit/phpunit 可移除 PHPUnit 及其相关依赖。若不加 --dev,Composer 默认操作 require 部分,当包仅存在于 require-dev 时会导致“找不到包”的错误。因此使用 --dev 能精准定位开发依赖,避免误操作。

在使用 Composer 时,--dev 参数用于指定操作只针对 require-dev 部分的依赖。
composer remove --dev 是做什么的?
当你运行 composer remove --dev 包名 时,Composer 会从 composer.json 文件的 require-dev 部分移除指定的包,并同时更新 composer.lock 文件。这个操作不会影响 require 中的正式依赖。
require-dev 通常用于存放开发阶段需要的工具,比如测试框架、代码分析工具等,例如 PHPUnit、PHPStan、PHP-CS-Fixer 等。这些包在生产环境中并不需要。
实际用法示例
composer remove --dev phpunit/phpunit这条命令会:
- 从
require-dev中删除phpunit/phpunit - 卸载该包及其不再被需要的依赖
- 更新
composer.lock文件
不加 --dev 会怎样?
如果不加 --dev,Composer 默认会从 require 部分移除包。如果该包只存在于 require-dev 中,那么不加 --dev 可能会导致提示“找不到该包”,因为 Composer 默认查的是正式依赖。
总结
--dev 明确告诉 Composer:我要操作的是开发依赖。使用它能精准控制要删除的依赖范围,避免误删或操作失败。
基本上就这些,不复杂但容易忽略。










