composer list 不显示用户自定义别名或 scripts,仅列出内置命令及其硬编码缩写(如inst);scripts需用composer run --list查看,高频操作应通过composer.json的scripts字段组合实现。

composer list 不提供别名功能,也不会列出你定义的任何别名或快捷命令。
它只显示 Composer 内置命令(如 install、update、require)及其缩写(如 inst 是 install 的官方缩写),这些缩写是硬编码在 Composer 源码里的,用户无法增删改。
你定义的 ci、cu、dev-up 等,无论来自 shell 别名还是 composer.json 的 scripts,都不会出现在 composer list 输出中。
为什么 composer list 找不到你的自定义命令?
因为 composer list 读取的是 Composer 自身的命令注册表,不是 shell 环境变量,也不是 composer.json 配置。它不解析 scripts,也不加载 .zshrc 中的 alias。
-
composer list输出里出现的inst是 Composer 内置的合法缩写,等价于install -
composer run命令才负责查找并执行scripts里的键名(如up、dev-up) - shell 别名(如
alias ci='composer install')完全由 shell 解析,Composer 无感知
如何确认你定义的 scripts 是否生效?
直接运行 composer run(不带参数),它会列出所有可用的 scripts 键名——这才是你自定义命令的“真实目录”。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 输出示例:
Available scripts:→ 下面跟着up、clear-cache、dev-up - 如果没看到,说明
composer.json的scripts字段格式错误、未保存,或当前不在项目根目录 -
composer run --list和composer run效果一致,都是展示 scripts 列表
想用 composer list 快速筛选内置命令?
可以配合 grep 过滤关键词,但别指望它帮你发现自己的别名:
-
composer list | grep require→ 查require相关命令(require、require-dev) -
composer list | grep dump→ 找dump-autoload及其缩写(如du不是缩写,dump才是) -
composer install -h或composer update -h才能看到该命令支持哪些缩写和选项
真正能组合高频操作的只有 scripts 数组
比如想“更新依赖 + 清缓存 + 重生成 autoload”,靠 composer list 无解,必须写进 composer.json:
"scripts": {
"refresh": ["@clear-cache", "composer update", "composer dump-autoload"]
}
- 数组形式支持顺序执行多条命令,
@clear-cache表示复用已定义的clear-cachescript - 执行时用
composer run refresh,不是composer refresh(后者会报错) - 这种组合无法被
composer list发现,但它才是解决“高频命令组合”的唯一可靠方式
composer list 当成自定义命令管理中心。它只是个内置命令说明书,不认你写的任何 shortcut。真要组合操作,盯紧 composer.json 里的 scripts,再配个 shell 函数透传参数——这两层才是实际干活的地方。










