composer help没输出是因为当前目录缺少composer.json文件,需确保存在(可为空);查全局命令用composer list,查具体命令用composer help 。

composer help 为什么没输出?先看目录有没有 composer.json
执行 composer help 后一片空白,或报错 Command 'help' is not defined,大概率不是命令坏了,而是当前目录没被 Composer 认作有效项目环境。它不关心 composer.json 里有没有内容,但文件必须存在——哪怕只是空文件。
- 快速补一个:
touch composer.json(Linux/macOS)或type nul > composer.json(Windows CMD) - 想查全局命令列表(不依赖项目)?直接用
composer list,它不挑目录,永远能跑 - 插件命令(如
composer normalize)必须先装好:composer require --dev composer-normalize,否则composer help normalize一定失败
查具体命令怎么写?别只输 composer help
composer help 不加参数时只列命令名和一行简介,真正有用的细节全在子命令里。比如你想知道 install 能不能跳过 dev 包,光看顶层 help 是找不到 --no-dev 的。
- 查某条命令的完整用法:
composer help install或等价的composer install -h - 输出分三块:
Usage(调用格式)、Arguments(位置参数)、Options(开关参数),重点盯Options里的行为说明 - 参数归属很关键:
--dry-run只在update和require中有效,install不认,硬加会报错
help 输出太长看不清?终端管道直接筛关键词
像 composer update -h 这种有二十多个选项的输出,一屏根本刷不完。别手动滚动找,用终端自带过滤更准。
- Linux/macOS:
composer update -h | grep -- "--no" - Windows PowerShell:
composer update -h | findstr "--no" - 注意:帮助文本是硬编码在源码里的,断网、没连 GitHub、甚至没装
vendor/autoload.php都不影响查 —— 它走的是独立 CLI 入口
有些命令死活不显示?上下文和插件激活状态决定可见性
composer help 是上下文敏感的,不是固定命令清单。你在已有 composer.json 的项目根目录下运行,create-project 和 init 就不会出现——因为它们语义是“从零开始”,Composer 认为当前场景不适用。
- 想看到初始化类命令?换到空目录再试
- 全局插件(如
composer-normalize)需先执行composer global update激活,否则不会进 help 列表 -
composer self-update永远不会出现在 help 输出里——它是内置逻辑,不是标准 Console 命令 - 中文环境下 help 仍是英文?这不是编码问题,Composer 帮助文本压根不支持多语言,改 locale 或环境变量无效











