composer

作者admin

10月 19, 2022

Composer 是 PHP 的一个依赖管理工具

它帮助你管理项目中的库和依赖关系,使得安装、更新和加载这些库变得更加简单。

  • 依赖管理:你可以在 composer.json 文件中列出项目所需的所有依赖库,Composer 会自动下载并安装这些库及其依赖项。
  • 自动加载:Composer 提供了自动加载机制,允许你在代码中使用这些库,而无需手动包含每个文件。
  • 版本控制:你可以指定依赖库的版本要求,Composer 会处理版本冲突,并确保所有依赖项都满足指定的版本约束。
  • 包管理:Composer 使用 Packagist 作为默认的包仓库,你可以从中找到许多常用的 PHP 库和工具。
  • 命令行工具:Composer 提供了一个命令行界面来管理依赖库,例如 composer install、composer update 和 composer require 等命令。

Composer 参数

全局参数

参数 含义
-v / -vv / -vvv 设置输出详细程度。越多的 v 输出信息越详细。
-n / --no-interaction 运行命令时不进行交互,适用于自动化脚本。
-q / --quiet 禁止输出任何内容。
--ansi 强制启用 ANSI 格式化输出(颜色等)。
--no-ansi 禁用 ANSI 格式化输出。
--profile 显示性能数据(执行时间、内存使用等)。
--help 显示命令的帮助信息。

常用命令和参数

composer require

添加一个新的依赖项到项目中。

参数 含义
--dev 将依赖项添加为开发依赖项(require-dev)。
--no-update 添加依赖到 composer.json 文件,但不立即安装。
--update-no-dev 更新依赖项时排除开发依赖。
--prefer-dist 优先从 .zip 文件安装依赖,而不是从 Git 仓库克隆。
--prefer-source 优先从源码安装依赖。
--with-all-dependencies 更新所需包及其所有相关依赖项。

composer install

安装 composer.json 中声明的所有依赖项。

参数 含义
--no-dev 仅安装生产依赖项(跳过 require-dev 部分的包)。
--no-scripts 禁止执行安装脚本(如 post-install-cmd)。
--prefer-dist 优先从 .zip 文件安装依赖,而不是从 Git 仓库克隆。
--prefer-source 优先从源码安装依赖。
--optimize-autoloader 优化自动加载器,提高性能(推荐用于生产环境)。

composer update

更新所有依赖项到最新版本(遵循版本限制)。

参数 含义
--with-dependencies 同时更新指定包及其所有依赖项。
--no-dev 仅更新生产依赖,忽略开发依赖。
--no-scripts 禁止执行更新脚本(如 post-update-cmd)。
--lock 仅更新 composer.lock 文件,而不改变 vendor 目录。

composer remove

移除一个依赖项。

参数 含义
--dev 仅从 require-dev 中移除依赖项。
--no-update 移除依赖项后不更新项目的依赖(vendor 目录不会改变)。

composer dump-autoload

重新生成自动加载文件。

参数 含义
--optimize 为生产环境优化自动加载文件(生成类映射以加速加载)。
--classmap-authoritative 禁用 PSR 映射,仅使用类映射(如果类未找到则报错)。
--no-dev 排除开发依赖的类。

composer show

列出项目中的所有依赖项或某个依赖项的详细信息。

参数 含义
--all 显示依赖项的所有信息(包括版本、依赖关系等)。
--tree 以树状结构显示依赖关系。
--installed 仅显示已安装的依赖项。

composer clear-cache

清除 Composer 缓存目录,解决缓存问题。

高级功能命令

命令 含义
composer validate 验证 composer.json 文件的语法是否正确。
composer outdated 显示所有可以更新的依赖项(包括当前版本和可用版本)。
composer config 配置 Composer 选项(如镜像源、全局配置等)。
composer self-update 更新 Composer 自身到最新版本。

参考文章:

composer.json

作者 admin

百度广告效果展示