composer require 用于添加生产环境必需依赖,写入 require 字段,部署时始终安装;2. composer require –dev 用于添加开发工具类依赖,写入 require-dev 字段,可被 –no-dev 参数跳过,适用于测试和调试工具,提升生产环境安全性与效率。

在使用 Composer 管理 php 项目依赖时,composer require 和 composer require –dev 的主要区别在于依赖的用途和加载时机。
composer require(生产环境依赖)
这个命令用于安装项目在生产环境运行时必需的依赖包。这些包会被写入 composer.json 中的 “require” 字段。
- 适用于数据库库、框架核心组件、模板引擎等必须组件
- 在生产环境部署时也会被自动安装
- 所有环境下都会加载
composer require –dev(开发环境依赖)
这个命令用于安装仅在开发或测试阶段需要的工具类包,比如测试框架、代码检查工具等。这些包会被添加到 composer.json 的 “require-dev” 字段中。
- 常见用途:phpunit、phpcs、psy/psysh、laravel/pint 等开发辅助工具
- 运行 composer install 时默认会安装
- 但执行 composer install –no-dev 时不会安装(常用于生产环境部署)
实际应用场景对比
假设你正在开发一个 laravel 项目:
- 你需要 guzzlehttp/guzzle 发送 HTTP 请求 → 使用 composer require guzzlehttp/guzzle
- 你需要 phpunit/phpunit 写单元测试 → 使用 composer require –dev phpunit/phpunit
这样在部署到生产服务器时,运行 composer install –no-dev 就不会安装 PHPUnit,节省空间并减少潜在安全风险。
基本上就这些。区分清楚哪些是运行必需的,哪些只是开发用的,能让你的项目更清晰、部署更高效。
以上就是composer require和composer require –dev的区别是什么的详细内容,更多请关注php中文网其它相关文章!