composer.json中的require和require-dev有什么不同

穿越時空
发布: 2025-10-14 19:39:01
原创
573人浏览过
require用于生产环境的运行时依赖,如框架和数据库ORM;require-dev用于开发测试工具,如PHPUnit和PHPStan;执行composer install安装所有依赖,而composer install --no-dev仅安装require中的生产依赖,推荐用于生产环境以减小体积并提升安全性。

composer.json中的require和require-dev有什么不同

requirerequire-devcomposer.json 中用来管理项目依赖的两个关键字段,它们的主要区别在于依赖的用途和部署环境。

require:生产环境依赖

这个字段列出的是项目在运行时必须存在的依赖包。这些库在开发、测试和线上环境都需要被安装。

例如:
  • 框架(如 Laravel、Symfony)
  • 数据库 ORM(如 Doctrine)
  • HTTP 客户端(如 Guzzle)

执行 composer install 时,这些包一定会被安装。

require-dev:开发环境依赖

这个字段包含的是仅在开发或测试阶段使用工具,不会在生产环境中加载。

燕雀Logo
燕雀Logo

为用户提供LOGO免费设计在线生成服务

燕雀Logo 101
查看详情 燕雀Logo
常见类型包括:
  • 测试工具(如 phpunit/phpunit)
  • 代码规范检查(如 phpstan/phpstan、friendsofphp/php-cs-fixer)
  • 调试工具(如 psy/psysh)

这些包只在你本地或 CI/CD 环境中需要,上线时可以省略。

部署时的区别

使用以下命令可以控制是否安装 dev 依赖:

  • composer install —— 安装 require 和 require-dev 中的所有包(适合本地开发)
  • composer install --no-dev —— 只安装 require 中的包(推荐用于生产环境)

这能减小生产环境的体积,提升安全性,避免不必要的依赖暴露。

基本上就这些。合理区分这两个字段,能让项目更清晰、部署更高效。

以上就是composer.json中的require和require-dev有什么不同的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号