Composer.json中require和require-dev的区别
发布时间 - 2025-11-29 00:00:00 点击率:次require用于声明生产环境必需的依赖包,如框架、数据库组件和API客户端,执行composer install时默认安装;2. require-dev用于声明开发和测试阶段所需的工具类包,如代码检查、测试框架和格式化工具,使用composer install --no-dev时不会安装;3. 区分两者可确保生产环境轻量安全,composer require默认添加到require,加--dev则添加到require-dev。
在使用 Composer 管理 PHP 项目依赖时,require 和 require-dev 是两个常见的配置项。它们都用于声明项目所依赖的包,但用途和适用环境不同。
require:生产环境依赖
这个部分列出的是项目在生产环境运行时必须的依赖包。这些包是核心功能的一部分,缺少它们项目将无法正常工作。
例如:
- 框架类库(如 Laravel、Symfony)
- 数据库操作组件(如 Doctrine、Eloquent)
- 第三方 API 客户端(如 Guzzle HTTP 客户端)
当你执行 composer install 时,这些包默认都会被安装。如果部署到生产环境并使用 composer install --no-dev,这些包依然会被安装。
require-dev:开发环境依赖
这个部分列出的是仅在开发或测试阶段需要的工具类包,不会影响项目的实际运行。
常见类型包括:
- 代码质量检查工具(如 PHPStan、Psalm)
- 单元测试框架(如 PHPUnit、PHPSpec)
- 代码格式化工具(如 PHP-CS-Fixer)
- 本地服务器或调试工具(如 PsySH)
这些包只在开发
时有用。使用 composer install --no-dev 时,Composer 不会安装它们,从而减少生产环境的体积和潜在安全风险。
关键区别总结
- require 中的包是运行项目必需的,始终要安装(除非明确跳过 dev)
- require-dev 中的包只用于开发、测试、调试,可选择性跳过
- 执行 composer require 默认添加到 require
- 执行 composer require --dev 则添加到 require-dev
基本上就这些。合理区分这两个字段,有助于保持生产环境干净、安全、高效。
# composer
# php
# laravel
# js
# json
# 工具
# 区别
# 开发环境
# symfony
# require
# 数据库
# http
# 的是
# 客户端
# 跳过
# 当你
# 所需
# 这两个
# 只在
# 第三方
# 无法正常
# 类库
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速搭建二级域名独立网站?
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
如何快速生成橙子建站落地页链接?
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
网页设计与网站制作内容,怎样注册网站?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
网站制作价目表怎么做,珍爱网婚介费用多少?
如何快速完成中国万网建站详细流程?
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
如何在 Pandas 中基于一列条件计算另一列的分组均值
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
Laravel如何为API生成Swagger或OpenAPI文档
Android实现代码画虚线边框背景效果
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
浅谈redis在项目中的应用
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
手机网站制作与建设方案,手机网站如何建设?
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
音响网站制作视频教程,隆霸音响官方网站?
香港服务器选型指南:免备案配置与高效建站方案解析
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
如何基于云服务器快速搭建个人网站?
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
进行网站优化必须要坚持的四大原则
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
高端网站建设与定制开发一站式解决方案 中企动力
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
,怎么在广州志愿者网站注册?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
公司网站制作需要多少钱,找人做公司网站需要多少钱?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
nodejs redis 发布订阅机制封装实现方法及实例代码
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
Android自定义控件实现温度旋转按钮效果
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
香港网站服务器数量如何影响SEO优化效果?
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
如何在腾讯云服务器上快速搭建个人网站?
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
如何确认建站备案号应放置的具体位置?
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
零基础网站服务器架设实战:轻量应用与域名解析配置指南

