使用 composer remove --dev 可安全移除开发依赖,如 composer remove --dev phpunit/phpunit 会从 require-dev 中删除包并更新 lock 文件;需确认包位于 require-dev,否则会提示未找到;即使不加 --dev,Composer 也会自动识别并删除对应依赖,但加上可明确限定范围;一个包不会同时存在于 require 和 require-dev;可通过检查 composer.json 或运行 composer show --dev 验证是否成功移除。

要只移除开发环境的依赖,你可以使用 Composer 提供的 --dev 选项来从 require-dev 部分删除包。
使用 composer remove --dev 移除开发依赖
运行以下命令可以仅移除 require-dev 中的包:
例如,你想移除 phpunit/phpunit 这个开发依赖:
执行后,Composer 会自动从 composer.json 的 require-dev 字段中删除该包,并更新 composer.lock 文件。
注意事项
确认包位于 require-dev 中如果包实际上在 require 而不在 require-dev 中,加 --dev 不会起作用,Composer 会提示找不到该包在开发依赖中。
如果你误用了:
composer remove vendor/package-name而该包在 require-dev 中,它依然会被移除。Composer 会自动判断该包在哪个部分并进行删除。但加上 --dev 可以明确限定只从开发依赖中删除,避免误删生产依赖(虽然实际行为是一样的)。
一个包不会同时出现在两个位置。Composer 会根据安装方式决定归属。用 composer require --dev 安装的才会进入 require-dev。
验证是否成功移除
检查 composer.json 文件中的 require-dev 字段,确认目标包已不存在。也可以查看提交差异或运行:
查看当前项目的所有开发依赖列表。
基本上就这些。使用composer remove --dev 是安全且标准的做法,专门用于清理测试、构建等仅开发阶段需要的工具。










