composer list 仅列出所有可用命令及简短描述,不包含参数说明、默认行为或使用示例;查具体用法必须配合 --help,这是最权威的本地文档。

composer list 能看到什么
直接运行 composer list 会输出所有可用命令及其简短描述,但不包含参数说明、默认行为或使用示例。它只是命令索引,不是手册——很多人误以为执行完这句就“有文档”了,其实只是开了个门。
常见错误现象:composer list 输出太长,找不到想查的命令;或者查到了 dump-autoload 却不知道要不要加 --optimize。
- 它按字母序排列,不分类,
require和run-script可能隔很远 - 不显示子命令(比如
composer create-project --help才能看到-s对应--stability) - 不提示哪些命令需要在含
composer.json的目录下运行(如install会报Could not find a composer.json file)
查具体命令的完整用法必须加 --help
composer list 只是起点,真正要看参数、选项、默认值、兼容性,得对单个命令用 --help。这是最常被跳过的一步。
使用场景:你刚听说 composer outdated,想确认它是否检查 dev 依赖,或者能否只看主版本变动。
-
composer outdated --help会告诉你-D, --direct只列出 root require 的包,--minor-only过滤补丁更新 -
composer install --help显示--no-scripts会跳过post-install-cmd,而--ignore-platform-reqs可能导致运行时出错 - 注意:有些选项仅在特定 Composer 版本支持(如
--with-all-dependencies在 2.2+ 才稳定),--help不标版本,得自己核对 CHANGELOG
想离线查完整手册?别依赖 list,用内置 help + 源码注释
Composer 没有内置 PDF 或网页版手册,composer list 和 --help 就是最权威的本地文档。想“查手册”,本质就是组合这两步。
容易踩的坑:有人把 composer list -a(显示隐藏命令)当高级功能,结果用了 diagnose 以外的隐藏命令导致锁文件损坏。
-
composer list -a会列出self-update、archive等运维向命令,但像show --tree这种实用功能不在list里,得靠composer show --help挖出来 - 参数差异关键点:同一个选项名在不同命令中含义可能不同,比如
--dev在require中是“添加到 require-dev”,在update中却是“只更新 require-dev” - 性能影响:某些 help 输出较慢(尤其首次运行),因为要解析插件注册的命令,这不是卡顿,是正常加载
替代方案:用 grep 快速定位 + 记住高频命令缩写
不用硬背全部命令,日常够用的就那十几个。与其翻 list,不如用 grep 缩小范围,再加 --help 精读。
示例:
composer list | grep -E "(req|out|dump)"
输出含 require、outdated、dump-autoload 的行,一眼扫到目标。
-
composer req是require的官方缩写,但composer upd不合法,必须写全update - Windows 用户注意:cmd 下
grep不可用,改用findstr "out";PowerShell 用composer list | Select-String "out" - 别信第三方整理的“命令大全”网页,参数默认值、废弃状态、PHP 版本约束经常滞后,以
--help输出为准
复杂点在于:每个命令的选项逻辑是独立设计的,没有统一范式。比如 remove 用 --update-with-dependencies,而 require 用 --update-with-all-dependencies,少个 all 就行为不同。这种细节,list 绝对不提醒,只能靠 --help 逐个确认。










