Composer 中的 require 和 require-dev 有什么本质区别?

admin 百科 12
本质区别在于使用场景和安装时机:require是运行必需依赖,所有环境都安装;require-dev仅开发测试时需要,生产环境用--no-dev跳过。

Composer 中的 require 和 require-dev 有什么本质区别?-第1张图片-佛山资讯网

本质区别在于使用场景和安装时机不同:require 是项目运行必需的依赖,必须存在于所有环境;require-dev 是仅在开发、测试阶段需要的工具类依赖,生产环境默认不装。

require:上线就靠它

这些包是应用启动和运行的基石。没有它们,代码根本跑不起来。

  • 框架本身(如 Laravel、Symfony、Yii2)
  • 数据库操作层(如 doctrine/orm、illuminate/database)
  • 核心 SDK(如 aliyuncs/oss-sdk-php、wechat/php-sdk)
  • 日志、缓存、HTTP 客户端等运行时组件(如 monolog/monolog、guzzlehttp/guzzle)

执行 composer installcomposer update 时,它们一定会被安装,且会随项目一起部署到生产服务器。

require-dev:只在你写代码时帮忙

这些包不参与业务逻辑,只服务开发流程,比如写测试、查 bug、规范代码。

  • 测试框架:phpunit/phpunit、pestphp/pest
  • 代码质量工具:phpstan/phpstan、friendsofphp/php-cs-fixer
  • 调试辅助:yiisoft/yii2-debug、symfony/var-dumper
  • 生成器与模拟器:fakerphp/faker、mockery/mockery

它们只在你本地或 CI 环境中用 composer install(不加参数)时才装。上线前加 --no-dev 就彻底跳过,既省空间又少风险。

标签: composer require php laravel js json yii 工具 iis 区别 模拟器

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~