composer help 列出所有内置一级命令,不展开子命令或参数;加具体命令名如 composer help require 才显示详细用法和参数含义,子命令需写全路径如 composer help config list。

composer help 能查到什么
直接运行 composer help 会列出所有内置命令,但默认只显示一级命令(比如 install、require),不展开子命令或参数说明。它本质是入口级帮助,适合快速扫一眼有哪些功能可用。
- 加具体命令名才能看到详细用法,比如
composer help require会告诉你-dev、--no-update等参数含义和默认行为 - 部分命令还有子命令(如
composer config下的list、get),必须写全路径:composer help config list - 注意:没有网络时也能执行
composer help,但某些动态生成的帮助(如插件命令)可能不显示
composer list 显示的命令比 help 多?
composer list 是更底层的命令枚举工具,它会把所有注册的命令都列出来,包括第三方插件提供的(比如 laravel/installer 注入的 laravel:new),也包含带冒号的复合命令(如 dump-autoload、script:run)。
-
composer list -a可以显示隐藏命令(通常用于调试或内部调用,比如diagnose就是隐藏但非常实用的) -
composer list --format=json输出 JSON,适合脚本解析,但要注意 Composer 版本差异:2.x 默认支持,1.x 需要额外安装symfony/console扩展 - 别依赖
list的输出顺序——它不保证稳定,脚本里需要匹配命令名而不是靠位置索引
为什么 composer --help 没反应或报错
常见原因是把 --help 当成全局开关用了,但 Composer 不支持这种写法。它只认 help 作为独立命令,且必须放在第一位。
- 错误写法:
composer install --help→ 报错或被当成传给install的参数,实际执行的是安装流程 - 正确写法只有两种:
composer help(总览) 或composer help install(查某个命令) - Windows 用户注意:CMD 中
^是转义符,如果复制了带^的帮助示例(比如某些文档里的composer ^help),会直接报语法错误
想查某个配置项怎么设,该翻哪个命令
Composer 的配置分散在全局、项目级、环境变量三层,composer config 是唯一正经操作入口,但它的帮助信息藏得深。
- 先跑
composer help config,重点看--global和--editor参数的区别:前者改~/.composer/config.json,后者会直接唤起编辑器,容易误删整个文件 - 查已设值用
composer config get repositories.packagist,注意键名要写全路径,不能只写repositories - 别用
composer show --help找配置相关说明——它只讲包查询,和config完全无关,这是新手最常跑偏的地方
真正麻烦的是嵌套配置和作用域优先级:比如项目 composer.json 里的 config.platform 会覆盖全局设置,但 COMPOSER_HOME 环境变量又可能让全局路径失效。这些不会出现在任何 help 里,得去官网查 “Configuration” 章节。










