最准最快查 Composer 命令的方式是直接运行 composer list 查所有命令,用 composer help 查具体用法;后者依赖当前目录存在 composer.json(空文件即可),否则报错。

直接运行 composer list 查所有命令,用 composer help 查具体用法——这是最准、最快、不依赖网络的方式。
为什么 composer help 有时没输出或报错
不是命令坏了,而是当前目录没被 Composer 认作有效上下文。它不要求 composer.json 有内容,但至少得存在(空文件也行)。常见现象:
-
Could not find a composer.json file:当前目录没composer.json,touch composer.json补一个就能恢复 -
Command "help" is not defined:极少见,通常是 Composer 二进制损坏或 PATH 错误,先跑composer --version确认基础可用性 - 插件命令(如
composer normalize)不显示:说明插件没装,或没在当前项目里通过composer require --dev composer-normalize激活
composer list 和 composer help 的分工差异
composer list 是“命令名速查表”,composer help 是“参数说明书”,两者不能互替:
-
composer list不依赖composer.json,适合刚装完 Composer 时扫一眼有哪些内置命令 -
composer list -a会显示别名(比如create-project和它的别名create) -
composer help install才会告诉你--optimize-autoloader是否生效、--no-dev的默认值是否真被应用、--prefer-dist对install其实是冗余的 -
composer help update明确写清了默认只更新 lock 文件中已有的包,不会拉composer.json新增项——这点不看 help 极易误解
怎么快速定位某个选项的含义
帮助文本一屏刷不完很正常,别手动翻:
- Linux/macOS:
composer update -h | grep -- "--no"筛出所有带--no前缀的开关 - PowerShell:
composer update -h | findstr "--no" - 加
-v(verbose)能展开隐式参数,比如composer help -v require会显示--with-all-dependencies这种文档里常省略的选项 - 注意参数顺序:位置参数(如包名
monolog/monolog)必须放在所有--xxx选项之后,否则会被当成选项的值吞掉
中文环境下 help 输出全是英文?这不是 bug
Composer 的帮助文本硬编码为英文,不读系统 locale,也不支持 --lang=zh 这类参数。所谓“中文手册”都是第三方非官方翻译,版本滞后、术语不统一,还可能漏掉行为细节。更可靠的做法是:
- 用
composer list -v看命令+简短描述(比纯list多一行说明) - 结合官网文档查细节,但务必先确认本地版本:
composer --version - 对关键参数(如
--no-cache)不确定时,加--verbose实际跑一次,观察终端输出的真实路径和行为
真正卡住的往往不是“有没有这个选项”,而是“它在哪条命令里有效”“和别的选项组合时谁优先”“是否受 composer.json 里的 config 配置干扰”。这些细节,只有 composer help 能给你当前环境下的准确答案。











