composer的--no-dev参数是什么意思_Composer --no-dev参数说明

--no-dev 参数用于跳过开发依赖仅安装生产必需的包。在 composer.json 中,require 定义运行所需库,require-dev 列出开发测试工具。执行 composer install --no-dev 时,如 phpunit 等 dev 依赖不被安装,常用于生产环境以减小体积、提升安全性和加快部署速度。

composer的--no-dev参数是什么意思_composer --no-dev参数说明

在使用 Composer 安装或更新依赖时,--no-dev 参数的作用是跳过开发环境所需的依赖包,仅安装生产环境中必需的依赖。

什么是 dev 依赖?

composer.json 文件中,依赖分为两类:

  • require:项目运行所必需的库,比如框架、数据库组件等
  • require-dev:仅在开发或测试时需要的工具,比如 PHPUnit、PHPStan、PHP-CS-Fixer 等

当你执行 composer install 而不加任何参数时,默认会同时安装这两类依赖。

使用 --no-dev 的场景

在部署到生产环境时,通常不需要开发工具。使用 --no-dev 可以:

  • 减少项目体积,节省服务器空间
  • 提升安全性,避免暴露调试或测试工具
  • 加快安装速度,减少不必要的依赖处理

例如,在上线部署脚本中常见这样的命令:

美图云修 美图云修

商业级AI影像处理工具

美图云修 61 查看详情 美图云修
composer install --no-dev --optimize-autoloader

实际效果示例

假设你的 composer.json 包含:

{
  "require": {
    "monolog/monolog": "^2.0"
  },
  "require-dev": {
    "phpunit/phpunit": "^9.0"
  }
}

执行 composer install --no-dev 后,只会安装 monolog,而不会安装 phpunit。

基本上就这些。简单来说,--no-dev 就是在正式环境中“只装必要的”,避免带上开发期的额外工具。

以上就是composer的--no-dev参数是什么意思_Composer --no-dev参数说明的详细内容,更多请关注php中文网其它相关文章!

本文转自网络,如有侵权请联系客服删除。