composer help 不显示命令列表是因为未在含 composer.json 的目录执行;查全局命令用 composer list,查具体命令用 composer help <cmd> 或 <cmd> -h,参数括号含义遵循 Symfony 规范:<package> 必填、[package] 可选、[--dev] 为布尔开关。

直接运行 composer help 不显示命令列表?不是命令坏了,而是你大概率没在对的地方执行它。
为什么 composer help 什么都没输出或报 “no commands defined”
Composer 的 help 命令默认列出「当前项目上下文可用的命令」,不是全局内置命令全集。它会加载项目根目录下的 composer.json、已安装插件、甚至 vendor/bin 中注册的命令。如果当前目录没有 composer.json(哪怕只是空文件),它就可能只显示极少数基础命令,甚至报错。
- 先进入含
composer.json的目录再试:cd my-project && composer help - 纯想查 Composer 自带命令(如
require、install),用composer list更可靠——它不依赖项目上下文 - 刚装完插件(比如
composer normalize)却没出现在 help 列表里?先执行composer global update或composer update确保 autoload 生效
composer help require 这类子命令帮助怎么看懂参数括号
Composer 沿用 Symfony Console 的标注规范,括号类型直接决定你能不能省略:
-
<package>:必填位置参数,漏掉就报Not enough arguments -
[package]:可选参数,不写就跳过(但require本身不支持这个写法,实际是强制要的) -
[--dev]:布尔型开关,出现即启用,不带值 -
[--version=VERSION]:带值选项,等号右边是默认值,实际可用--version=^2.0或--version ^2.0
注意:help 文本里不会明说 --dev 和 --global 互斥,但一旦同时出现,立刻报 [RuntimeException] You cannot combine --global with --dev —— 因为作用域根本冲突。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
composer install -h 里那些选项到底什么时候生效
不同命令对同一选项的处理逻辑可能完全不同,不能凭经验套用:
-
--no-scripts:对install有效(跳过post-install-cmd),但对update就不控制脚本执行时机 -
--prefer-dist:在install中默认启用(优先下 zip 包),但在update中必须显式加才生效 -
--with-all-dependencies:只在 Composer 2.2+ 支持,旧版本会静默忽略,help 里不提示兼容性 -
--no-cache:不是清缓存,而是临时绕过整个缓存校验层,CI 可用,本地频繁切换分支时慎用
另外,composer update 默认只更新 composer.lock 中已有记录的包;如果 composer.json 新增了依赖,得加 --with-dependencies 或先跑一遍 composer install。
“See also: dump-autoload, install” 是链接吗
不是链接,也不是文档引用,就是几个相关命令的名字提示。它们出现在 composer help update 结尾,是因为功能强耦合:
-
composer dump-autoload:update 后自动加载规则可能失效,常需手动补这一句 -
composer install:和update是互补关系,不是替代关系——前者按composer.lock还原,后者按composer.json重新解析
这些命令名复制粘贴就能用,但要注意版本差异:比如 dump-autoload --optimize 在 PHP 8.2+ 效果更明显,而 help 文本里完全不提这点。

















