最权威方式是用 composer help 查全局命令列表,具体命令参数用 composer help ;composer list 快速列出所有命令,加 --all 显示插件命令,-v 显示详细描述,但 scripts 中自定义脚本需用 composer run --list。

直接用 composer help 查全局命令列表,用 composer help <command></command> 查具体命令的参数、默认行为和兼容性细节——这是唯一权威、离线可用、且与你本地版本完全一致的方式。
怎么快速列出所有可用命令
composer list 是最轻量的起点,不依赖当前目录是否有 composer.json,空文件夹也能跑。它按字母排序,每行带一句简短说明,比如 dump-autoload 后面跟着 “Dumps the autoloader”。
- 加
--all才能看到插件命令(如composer-normalize的normalize) - 加
-v会显示更详细的描述,比纯list实用得多 - 别指望
list显示scripts里定义的自定义脚本,那些得用composer run --list - 命令名必须用短横线,
create-project错写成create_project或create project都会报Command "xxx" is not defined
为什么 composer help 不显示某些命令
composer help 是上下文敏感的:它会主动隐藏语义冲突的命令。比如你在已有项目的根目录下执行,init 和 create-project 就不会出现——因为这两个命令只适用于空目录。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 想看到初始化类命令?换到一个空目录再试
- 全局插件(如
composer global require composer-normalize)必须已激活,否则命令不进help列表 -
self-update永远不会出现在help或list输出里,它是内置逻辑,不是标准 Command 类 - 插件命令的帮助文本由插件自己提供,格式可能不统一,有些甚至没写
setHelp()
查某个命令具体怎么用,别跳过 --help
所有子命令都支持 --help(或 -h),输出包含 Usage、Arguments、Options 三块,关键信息全在里面。
-
composer help update明确说默认行为是“只更新composer.lock中已有的包”,不会自动拉composer.json新增的依赖 -
composer help require会标出[--dev]和[--no-update]是互斥的,避免你同时加两个还奇怪为啥报错 - 括号语法有含义:
<package></package>是必填位置参数,[--version=VERSION]表示可选但带默认值,[--dev]是开关型选项 - 加
-v(如composer help -v require)能看见隐式参数,比如--with-all-dependencies
常见错误现象和排查路径
提示 Command "xxx" is not defined,大概率不是拼错,而是命令根本不在当前上下文里。
- 刚装了插件但
list里没它?先确认是否执行了composer global update激活 - 在项目目录下输
composer create-project报错?不是命令没了,是你当前目录已有composer.json,Composer 主动屏蔽了该命令 - CI 环境里插件命令不出现?检查是否用了
--no-plugins,或者插件依赖的 PHP 扩展缺失(加--verbose可观察注册警告) -
composer show不是搜索命令,输composer show log基本等于白敲;查包得用composer search初筛,再上 Packagist.org 定案
真正容易卡住的,往往不是记不住命令,而是没意识到 --all 才显插件命令、没注意上下文会动态过滤、以及把 scripts 当成 CLI 命令去查。










