composer remove --dev:如何只移除开发环境的依赖?

发布时间 - 2025-11-14 00:00:00    点击率:
使用 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 中的包:

composer remove --dev vendor/package-name

例如,你想移除 phpunit/phpunit 这个开发依赖:

composer remove --dev phpunit/phpunit

执行后,Composer 会自动从 composer.jsonrequire-dev 字段中删除该包,并更新 composer.lock 文件。

注意事项

确认包位于 require-dev 中

如果包实际上在 require 而不在 require-dev 中,加 --dev 不会起作用,Composer 会提示找不到该包在开发依赖中。

不加 --dev 的后果

如果你误用了:

composer remove vendor/package-name

而该包在 require-dev 中,它依然会被移除。Composer 会自动判断该包在哪个部分并进行删除。但加上 --dev 可以明确限定只从开发依赖中删除,避免误删生产依赖(虽然实际行为是一样的)。

同时存在于 require 和 require-dev?

一个包不会同时出现在两个位置。Composer 会根据安装方式决定归属。用 composer require --dev 安装的才会进入 require-dev

验证是否成功移除

检查 composer.json 文件中的 require-dev 字段,确认目标包已不存在。也可以查看提交差异或运行:

composer show --dev

查看当前项目的所有开发依赖列表。

基本上就这些。使用 composer remove --dev 是安全且标准的做法,专门用于清理测试、构建等仅开发阶段需要的工具。


# php  # js  # json  # composer  # 工具  # 开发环境  # require  # 移除  # 不加  # 如果你  # 也会  # 你可以  # 才会  # 找不到  # 出现在  # 你想  # 自动识别 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Collections进行数据处理?(实用方法示例)  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  Laravel如何处理异常和错误?(Handler示例)  如何快速生成凡客建站的专业级图册?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  Swift中swift中的switch 语句  SQL查询语句优化的实用方法总结  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  EditPlus中的正则表达式 实战(4)  进行网站优化必须要坚持的四大原则  实例解析angularjs的filter过滤器  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  晋江文学城电脑版官网 晋江文学城网页版直接进入  常州企业网站制作公司,全国继续教育网怎么登录?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  教你用AI润色文章,让你的文字表达更专业  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  Laravel如何使用Blade模板引擎?(完整语法和示例)  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  教学论文网站制作软件有哪些,写论文用什么软件 ?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  linux写shell需要注意的问题(必看)  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel中的Facade(门面)到底是什么原理  如何快速上传自定义模板至建站之星?  如何用IIS7快速搭建并优化网站站点?  如何在阿里云虚拟服务器快速搭建网站?  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  Laravel如何实现用户密码重置功能?(完整流程代码)  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  如何快速搭建高效可靠的建站解决方案?  如何在云服务器上快速搭建个人网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  轻松掌握MySQL函数中的last_insert_id()  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  手机软键盘弹出时影响布局的解决方法  Laravel如何与Pusher实现实时通信?(WebSocket示例)  如何在IIS7上新建站点并设置安全权限?  微信小程序 input输入框控件详解及实例(多种示例)  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel怎么清理缓存_Laravel optimize clear命令详解  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南