composer如何查看命令帮助_composer list和help使用【查阅】

1次阅读

composer list 仅显示当前项目中已激活的内置命令及插件注册的命令,不包含全局命令、未启用插件的命令或 vendor/bin 下的独立二进制工具;需先执行 composer install/update 激活插件,且自定义脚本须通过 composer run-script 调用。

composer如何查看命令帮助_composer list和help使用【查阅】

composer list 能看到什么命令

它只列出当前项目中可用的 composer 命令,不包含全局安装的插件命令(除非插件已启用且被识别),也不显示子命令的参数说明。运行 composer list 时,如果项目里有自定义脚本或第三方插件(比如 laravel/installerphpstan/extension-installer),它们注册的命令可能不会立刻出现——得先确保插件已通过 composer installcomposer update 激活。

常见错误现象:composer list 输出里找不到你刚装的包提供的命令,比如 phpunitpest 的快捷命令。这不是 Composer 漏了,而是这些工具通常不注册为 Composer 命令,而是独立二进制文件(放在 vendor/bin/ 下)。

使用场景:快速确认有没有拼错命令名,或者验证某个插件是否生效。比如装完 hirak/prestissimo(旧版并行下载插件)后,composer list 里仍不会多出新命令——它只是改行为,不加命令。

composer help 查看具体命令用法

composer help 必须跟一个命令名才有意义,单独敲 composer help 只会打印最简帮助页,连常用选项都省略了。真正有用的是 composer help requirecomposer help update 这类带目标命令的写法。

参数差异要注意:composer help installcomposer help update 显示的选项看似差不多,但实际行为不同。比如 --no-scriptsinstall 中跳过 post-install-cmd,在 update 中则跳过 post-update-cmd;而 --with-dependencies 只在 require 里有效,help require 才会提到它。

容易踩的坑:

  • 误以为 composer help dump-autoload 会告诉你怎么生成 PSR-4 自动加载——其实它只说参数,不解释 -o--optimize 的区别(前者是短选项,后者是长选项,功能完全一样)
  • 在没有 composer.json 的目录下运行 composer help,会报错 Could not find a composer.json file,但它其实不影响查看命令帮助——加 --no-plugins 或切到有配置的目录再试

查不到命令?可能是作用域或版本问题

Composer 命令分三类:内置命令(如 installdump-autoload)、插件注册的命令(如 phpstan analyse 如果插件支持)、以及 scripts 里定义的自定义脚本(需用 composer run-script xxx 触发)。前两者才能被 listhelp 直接识别。

性能与兼容性影响:低版本 Composer(如 1.x)的 help 输出更简略,不显示默认值和别名;2.x 开始才补全了 --no-cache 这类选项的说明。如果你在 CI 环境里看到帮助信息不一致,先检查 composer --version

实操建议:

  • 想确认某命令是否存在:用 composer list | grep -i "xxx"linux/macos)或 composer list | findstr xxxwindows
  • 不确定参数含义时,别只看 help,直接试:composer require --dry-run monolog/monolog 看它打算改什么,比读文档更快
  • 插件命令查不到?先运行 composer show --plugins,确认插件已加载,再看它文档里写的命令格式(有些要加 vendor 前缀,比如 yoast/phpunit-polyfills:phpunit-polyfills

help 输出太长,怎么快速定位关键参数

composer help 默认输出含描述、选项、示例,但关键参数往往藏在中间。与其滚动翻页,不如用管道过滤:composer help update | grep -A5 -B2 "no-dev" 就能精准看到 --no-dev 的说明和前后上下文。

容易被忽略的地方:

  • --verbose-v)、--very-verbose-vv)、--debug-vvv)这三个日志级别在所有命令的 help 里都列在最后,但实际调试时它们比大多数选项更有用
  • --working-dir 参数允许你在任意路径执行命令并指定项目根目录,但它在 help 里常被折叠进“Global Options”,新手容易漏看
  • 某些选项只在特定上下文生效,比如 --prefer-distcreate-project 有效,对 require 却无效——help 不会主动提醒这点,得靠文档或实验

事情说清了就结束

text=ZqhQzanResources