
composer list 能列出所有可用命令吗?
能,而且是最直接、最权威的方式。composer list 不是“大概看看”,而是真实反映当前 Composer 安装状态下所有可执行命令的完整清单——包括核心命令(如 install、update)、插件注入的命令(如 laravel:optimize),以及部分环境适配后动态注册的命令。
- 输出按字母顺序排列,每行带一句简短说明,比如
dump-autoload 后面跟着 “Dumps the autoloader”
- 终端支持分页时会自动启用(类似
less),长列表不会刷屏
- 如果你刚装了新插件但
list 里没出现它的命令,大概率是插件没正确激活或 Composer 没重载配置
怎么快速查某个命令具体怎么用?
在任意命令后加 -h 或 --help,这是 Composer 内置的标准帮助机制,不是第三方文档补丁。
-
composer install -h 显示所有选项(--no-dev、--with-all-dependencies 等)和默认行为说明
-
composer require -h 会告诉你如何指定版本约束、是否跳过脚本、是否禁用自动更新 autoload
- 帮助里常含实用示例,比如
composer update --help 末尾可能写着:composer update monolog/monolog symfony/console
- 注意:有些命令(如
create-project)的帮助内容较长,建议配合 grep 过滤,例如:composer create-project -h | grep -A2 "stability"
为什么 composer list 有时看不到我刚装的插件命令?
这不是 bug,而是 Composer 的加载时机与作用域问题。
- 插件命令必须在项目上下文中注册:如果你在非项目目录运行
composer list,某些仅在 composer.json 中声明了 require-dev 插件的命令就不会出现
- 全局安装的插件(用
composer global require)需确保 COMPOSER_HOME 在 PATH 中,且你没在某个项目里用 --no-plugins 禁用了插件
- 少数插件依赖特定 Composer 版本或 PHP 扩展,缺失时会静默跳过注册——可加
--verbose 运行 composer list 观察警告信息
- 最稳妥验证方式:进一个含该插件的项目目录,再跑
composer list | grep 插件名
想确认某项配置是否生效,只靠 composer list 不够composer list 只管命令,不管配置;真正管配置的是 composer config --list。很多人混淆这两者,结果查半天命令却改错了配置位置。
-
composer config --list 输出的是最终合并值:项目 composer.json 的 config 字段 + 全局 ~/.composer/config.json + 环境变量(如 COMPOSER_CACHE_DIR)
- 本地配置优先级高于全局,所以即使你全局设了镜像源,项目里又写了别的,
config --list 显示的就是项目实际用的地址
- 查单个键更高效:
composer config cache-dir 比翻几十行 --list 输出快得多
- 容易被忽略的是:某些字段(如
github-protocols)是运行时推导的,--list 不显示,得靠实际命令报错或日志反推
dump-autoload 后面跟着 “Dumps the autoloader” less),长列表不会刷屏 list 里没出现它的命令,大概率是插件没正确激活或 Composer 没重载配置 -h 或 --help,这是 Composer 内置的标准帮助机制,不是第三方文档补丁。
-
composer install -h显示所有选项(--no-dev、--with-all-dependencies等)和默认行为说明 -
composer require -h会告诉你如何指定版本约束、是否跳过脚本、是否禁用自动更新 autoload - 帮助里常含实用示例,比如
composer update --help末尾可能写着:composer update monolog/monolog symfony/console - 注意:有些命令(如
create-project)的帮助内容较长,建议配合grep过滤,例如:composer create-project -h | grep -A2 "stability"
为什么 composer list 有时看不到我刚装的插件命令?
这不是 bug,而是 Composer 的加载时机与作用域问题。
- 插件命令必须在项目上下文中注册:如果你在非项目目录运行
composer list,某些仅在 composer.json 中声明了 require-dev 插件的命令就不会出现
- 全局安装的插件(用
composer global require)需确保 COMPOSER_HOME 在 PATH 中,且你没在某个项目里用 --no-plugins 禁用了插件
- 少数插件依赖特定 Composer 版本或 PHP 扩展,缺失时会静默跳过注册——可加
--verbose 运行 composer list 观察警告信息
- 最稳妥验证方式:进一个含该插件的项目目录,再跑
composer list | grep 插件名
想确认某项配置是否生效,只靠 composer list 不够composer list 只管命令,不管配置;真正管配置的是 composer config --list。很多人混淆这两者,结果查半天命令却改错了配置位置。
-
composer config --list 输出的是最终合并值:项目 composer.json 的 config 字段 + 全局 ~/.composer/config.json + 环境变量(如 COMPOSER_CACHE_DIR)
- 本地配置优先级高于全局,所以即使你全局设了镜像源,项目里又写了别的,
config --list 显示的就是项目实际用的地址
- 查单个键更高效:
composer config cache-dir 比翻几十行 --list 输出快得多
- 容易被忽略的是:某些字段(如
github-protocols)是运行时推导的,--list 不显示,得靠实际命令报错或日志反推
composer list,某些仅在 composer.json 中声明了 require-dev 插件的命令就不会出现 composer global require)需确保 COMPOSER_HOME 在 PATH 中,且你没在某个项目里用 --no-plugins 禁用了插件 --verbose 运行 composer list 观察警告信息 composer list | grep 插件名
composer list 不够composer list 只管命令,不管配置;真正管配置的是 composer config --list。很多人混淆这两者,结果查半天命令却改错了配置位置。
-
composer config --list输出的是最终合并值:项目composer.json的config字段 + 全局~/.composer/config.json+ 环境变量(如COMPOSER_CACHE_DIR) - 本地配置优先级高于全局,所以即使你全局设了镜像源,项目里又写了别的,
config --list显示的就是项目实际用的地址 - 查单个键更高效:
composer config cache-dir比翻几十行--list输出快得多 - 容易被忽略的是:某些字段(如
github-protocols)是运行时推导的,--list不显示,得靠实际命令报错或日志反推
真正要动手查命令,就两步:composer list 找名字,composer xxx -h 看用法。至于配置,别混进来——那是 config --list 的地盘。










