require用于生产环境的运行时依赖,如框架和数据库ORM;require-dev用于开发测试工具,如PHPUnit和PHPStan;执行composer install安装所有依赖,而composer install –no-dev仅安装require中的生产依赖,推荐用于生产环境以减小体积并提升安全性。

require 和 require-dev 是 composer.json 中用来管理项目依赖的两个关键字段,它们的主要区别在于依赖的用途和部署环境。
require:生产环境依赖
这个字段列出的是项目在运行时必须存在的依赖包。这些库在开发、测试和线上环境都需要被安装。
例如:框架(如 Laravel、Symfony) 数据库 ORM(如 Doctrine) HTTP 客户端(如 Guzzle)
执行 composer install 时,这些包一定会被安装。
require-dev:开发环境依赖
这个字段包含的是仅在开发或测试阶段使用的工具,不会在生产环境中加载。
有道小P
有道小P,新一代AI全科学习助手,在学习中遇到任何问题都可以问我。
64 查看详情
常见类型包括:测试工具(如 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中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/244242.html
微信扫一扫
支付宝扫一扫