Composer如何列出所有可用命令_Composer list命令功能说明【入门】
在Composer中,list命令默认仅输出核心命令;插件命令需加--all参数才显示。--all-v可查看带描述的命令列表;--no-ansi便于grep文本搜索过滤;--raw输出TSV格式,适合脚本自动化。list输出紧凑,适合管道操作;--help则带换行高亮,交互更友好。
用过 Composer 的同学都知道 composer list 的存在感不强──大部分人要么对它只有模糊的“看过一眼”的印象,要么干脆靠肌肉记忆直接用 composer -h摸到 GitHub就能查的命令名往外蹦。但实际上就是这么一条看似平平无奇的 list命令藏着不少门道:它为什麽默认看不到插件命令help.还有你不要而 comment与帮助信息的微妙差异这些细节没搞透彻经常会出现“命令敲完了结果返回 starting file ‘composer. json’ not found”之类的低级事故。
今天就来把这几个容易卡住新手、也经常被老手忽略的点彻底拆一遍。
默认输出只有核心命令,想看到插件命令必须加 `--all`
composer list 不加任何参数的情况下确实会展示一个命令列表,但那个列表通常只包含大概 20 条核心命令——像 install、require、update 这类主力工具都在,但插件命令(譬如 phpstan:analyse、normalize)是不会出现在这个默认输出里的。换句话说,你装了一堆插件,如果只用 composer list 往回划,大概率找不到它们。
这时候加一个 --all 就能解决了。不过还有几个附加条件需要注意:
- 插件对应的包必须先通过
composer install安装,或者已经在composer.json里显式声明了依赖 - 从 Composer 2.2 开始引入了命令缓存机制,修改插件后可能需要加
--no-cache才能刷出最新列表 - 别指望在 list 里找到别名形式的命令。比如
inst是install的别名,但它从不在 list 输出中显示,想知道别名是否生效,老老实实用composer inst --help验证
几个组合参数,比你硬扫命令行快得多
默认的全量输出通常很长,直接肉眼扫读效率很低。其实 Composer 专门准备了几个过滤和格式化选项:
composer list --all -v:最推荐的组合,全量命令再加上一行简短描述。比如看到dump-autoload,就能直接知道它的作用是“Dumps the autoloader”,比靠猜测靠谱composer list --no-ansi | grep "dump":去掉 ANSI 颜色控制符后,可以用 grep 稳定匹配到dump-autoload和dump-env,查询结果干干净净composer list config:按命名空间筛选,只显示配置相关命令(config、diagnose 等),尤其适合具体场景下的快速检索composer list --raw:输出为 TSV 格式,每一行形如dump-autoload,适合嵌入脚本进行二次解析Dumps the autoloader
说白了,上面这几条组合是给两种人准备的:一是想省时间的终端操作者,二是写自动化脚本的。
composer list 和 的细微差异
这两个命令都能显示某个具体命令的完整签名和选项说明,但用起来还是有区别的:
composer list require输出是紧凑的,字段严格对齐,所以特别适合配合grep或管道操作composer require --help就不是这么回事了——它自动换行、高亮参数名、带交互提示,整体对终端操作更友好- 涉及上下文依赖的场景需要注意,比如
composer list create-project可能不会提示当前目录是否已有composer.json,而--help在某些情况下会补充说明 - 插件命令同样支持这两种方式,不需要在命令名前加额外的前缀
真正让人卡住的,往往不是“记不住命令名”,而是根本没意识到插件命令要加 --all 才会现形、连字符输成了下划线或空格后报错提示不友好、以及 --raw 这种专门为脚本设计的输出格式长期被完全忽略。把这些细节搞清楚,日常里的那些“找不到命令”“帮助信息没看懂”就能少掉一大半。


































