composer require –dev 和 require 有何不同

30次阅读

require用于安装生产环境必需的依赖,如框架和数据库ORM,会写入composer.json的”require”字段;而require –dev用于安装仅开发测试所需的工具,如phpunit或phpstan,仅添加到”require-dev”字段,生产部署时可通过composer install –no-dev跳过安装,减小体积并提升安全性。

composer require –dev 和 require 有何不同

在使用 Composer 安装 PHP 包时,requirerequire –dev 的主要区别在于依赖的用途和部署环境。

require:安装生产环境依赖

这个命令用于添加项目在生产环境中必须运行的依赖包。

例如:

  • 框架(如 Laravel、Symfony)
  • 数据库 ORM(如 Doctrine)
  • 第三方 API SDK

这些包在应用上线后仍需存在,否则程序无法正常运行。

执行命令:

composer require vendor/package-name

该包会被写入 composer.json“require” 字段。

composer require –dev 和 require 有何不同

有道小P

有道小P,新一代ai全科学习助手,在学习中遇到任何问题都可以问我。

composer require –dev 和 require 有何不同64

查看详情 composer require –dev 和 require 有何不同

require –dev:安装开发环境依赖

这个选项用于添加仅在开发或测试阶段需要的工具,不会影响线上运行。

常见用途包括:

  • 代码测试工具(如 phpunit/phpunit)
  • 静态分析工具(如 phpstan/phpstan)
  • 代码格式化工具(如 friendsofphp/php-cs-fixer)

这些工具只在本地或 CI/CD 流程中使用,部署到生产服务器时可以跳过安装。

执行命令:

composer require vendor/package-name –dev

该包会被添加到 composer.json“require-dev” 字段。

关键区别总结

  • require 的包在生产和开发环境都需要
  • require –dev 的包只在开发阶段使用
  • 运行 composer install 时,默认会安装 dev 依赖;但使用 composer install –no-dev 可跳过它们,常用于生产部署
  • 打包发布项目时,排除 dev 依赖能减小体积并提升安全性

基本上就这些。根据依赖的实际用途选择对应命令,是良好项目管理的习惯。不复杂但容易忽略。

以上就是composer php laravel js json 工具 区别 开发环境 php symfony laravel composer json require 数据库

composer php laravel js json 工具 区别 开发环境 php symfony laravel composer json require 数据库

text=ZqhQzanResources