require用于声明项目运行必需的依赖,如框架、数据库组件和第三方SDK,这些包会随项目部署到生产环境;2. require-dev用于声明仅在开发和测试阶段需要的工具,如PHPUnit、PHPStan、Faker等,不会默认部署到生产环境;3. 安装时composer install根据环境决定是否安装require-dev中的包,两者均记录在composer.lock中并被自动加载,但用途不同;4. 正确区分二者可保持生产环境简洁安全,提升部署效率。

在使用 Composer 管理 PHP 项目依赖时,经常会看到 require 和 require-dev 这两个配置项。它们虽然都用于声明项目所依赖的包,但用途和作用范围有明显区别。
放在 require 中的包是项目上线运行时必须存在的。这些依赖会随项目一起部署到生产环境,缺少它们会导致程序无法正常工作。
例如:
执行命令添加 require 依赖:
composer require monolog/monolog放在 require-dev 中的包只在开发或测试过程中需要,不会影响线上功能。这类工具通常用于代码质量检查、自动化测试、调试等。
常见 require-dev 类型的包包括:
安装 dev 依赖的命令:
composer require --dev phpunit/phpunitcomposer install 时,若环境不是开发模式(如设置了 COMPOSER_ENV=prod),require-dev 的包可能被跳过假设你正在开发一个 API 服务:
基本上就这些。合理区分 require 与 require-dev,有助于保持生产环境简洁、安全,同时提升部署效率。
以上就是composer require-dev和require有什么不同_Composer Require与Require-Dev区别解析的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号