Composer require --dev怎么用 仅安装到开发环境依赖【基础】

发布时间 - 2026-01-30 00:00:00    点击率:
composer require --dev 将包仅添加到 composer.json 的 require-dev 字段并安装,用于开发测试等非生产场景;需配合 composer install --no-dev 部署才能确保其不进入生产环境。

composer require --dev 的作用是把包只加进 require-de

v 区域,不进 require,这样它不会出现在生产环境的依赖里——但前提是部署时用 composer install --no-dev(默认行为),否则没意义。

什么时候该用 --dev

你装的包只在本地开发、测试、调试时需要,上线后完全用不到。典型场景包括:

  • phpunit/phpunit:跑单元测试
  • laravel/pintphp-cs-fixer:代码格式化
  • mockery/mockery:写 Mock 对象
  • barryvdh/laravel-debugbar:开发期调试用,线上必须禁用

--dev 会改什么文件

它只修改 composer.jsonrequire-dev 字段,并执行 composer update 安装对应包(含其依赖)。不会碰 require,也不会删已有包。

示例命令:

composer require --dev phpunit/phpunit:^10

执行后 composer.json 会多出:

"require-dev": {
    "phpunit/phpunit": "^10"
}

常见误操作和后果

容易忽略的关键点:

  • 装错位置:比如把 symfony/var-dumper 装成 --dev,但你在 AppServiceProvider 里用了 dump() —— 线上就会报 Class not found
  • 部署没关 --dev:如果上线时运行的是 composer install(没加 --no-dev),所有 require-dev 包仍会被装上,浪费空间还可能引入安全风险
  • CI/CD 流水线漏配置:很多 CI 脚本默认只跑 composer install,得手动加 --no-dev 才真正隔离

真正起作用的不是 --dev 这个开关本身,而是你后续怎么 install、怎么部署。光加了 --dev 不等于自动“仅开发环境可用”。


# php  # laravel  # js  # json  # composer  # app  # 开发环境  # symfony  # require  # class  # var  # 对象  # 线上  # 会报  # 的是  # 什么时候  # 已有  # 出现在  # 你在  # 用了  # 只在  # 多出 


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


相关推荐: 如何用低价快速搭建高质量网站?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  教你用AI润色文章,让你的文字表达更专业  如何在搬瓦工VPS快速搭建网站?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  phpredis提高消息队列的实时性方法(推荐)  javascript如何操作浏览器历史记录_怎样实现无刷新导航  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  PHP 500报错的快速解决方法  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何在宝塔面板中修改默认建站目录?  米侠浏览器网页背景异常怎么办 米侠显示修复  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  北京企业网站设计制作公司,北京铁路集团官方网站?  西安专业网站制作公司有哪些,陕西省建行官方网站?  使用spring连接及操作mongodb3.0实例  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  免费网站制作appp,免费制作app哪个平台好?  如何在IIS管理器中快速创建并配置网站?  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何用已有域名快速搭建网站?  Laravel Session怎么存储_Laravel Session驱动配置详解  微信公众帐号开发教程之图文消息全攻略  如何快速重置建站主机并恢复默认配置?  Laravel怎么上传文件_Laravel图片上传及存储配置  如何快速搭建自助建站会员专属系统?  高端建站如何打造兼具美学与转化的品牌官网?  Laravel如何创建自定义Artisan命令?(代码示例)  ,交易猫的商品怎么发布到网站上去?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  网站建设整体流程解析,建站其实很容易!  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  手机网站制作与建设方案,手机网站如何建设?  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Android使用GridView实现日历的简单功能  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  如何在 Pandas 中基于一列条件计算另一列的分组均值  三星网站视频制作教程下载,三星w23网页如何全屏?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  七夕网站制作视频,七夕大促活动怎么报名?  移动端脚本框架Hammer.js  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框