composer global show 默认静默退出是因为必须加 --all 才读取全局 vendor/ 下的真实安装记录;不加时既非报错也非命令错误,而是设计如此。

直接运行 composer global show --all 才能列出所有全局安装的包;不加 --all 会静默退出,不是命令错了,是设计如此。
为什么 composer global show 没输出?
这不是报错,而是默认行为:Composer 的 global show 子命令不自动切换上下文,必须显式加 --all 才读取全局 vendor/ 下的真实安装记录。常见误解包括:
- 输成
composer global show(漏--all)→ 静默退出,误以为没装包 - 输成
composer show --global(参数位置错)→ 报错Unrecognized option "--global" - 用老版本 Composer(早于 1.0)→ 提示
Command "global" not found,需先composer self-update - 输出为空 → 真的没装过任何全局包,可先试
composer global require laravel/installer
composer global show --all 的实用参数组合
默认输出带描述和依赖树,但多数场景只需精简信息:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
composer global show --all --name-only:只列包名,适合快速扫一眼 -
composer global show --all --name --version:输出两列(包名+版本),空格分隔,方便| grep或写入 CI 脚本 -
composer global show --all --format=table:对齐表格,人工核对更清晰 -
composer global show --all --direct:只显示你手动global require的包,排除自动拉进来的依赖
查到了包,但终端敲命令还是 command not found
composer global show 只读 installed.json,不验证文件是否真实存在或 PATH 是否生效。关键检查点:
- 先确认 bin 目录路径:
composer config --global home→ 得到根路径,再拼上/vendor/bin(Linux/macOS)或\Vendor\bin(Windows,注意大小写) - 检查该路径是否在
$PATH(Linux/macOS)或%PATH%(Windows)中 - Windows 用户特别注意:
%APPDATA%\Composer\Vendor\bin是完整路径,环境变量里少一个\Vendor\bin就失效 - 运行
ls ~/.composer/vendor/bin(Linux/macOS)或dir %APPDATA%\Composer\Vendor\bin(Windows)确认可执行文件是否存在
最容易被忽略的是:installed.json 和磁盘文件可能不一致——你手动删过包目录,但没清理 installed.json,global show 仍会显示“已安装”,而命令必然失败。










