composer show --all 不是搜索命令,仅列出 packagist 或配置私有源中所有包名及简短描述,无模糊匹配和版本信息;唯一可靠“搜索”方式是配合 grep 过滤,如 composer show --all | grep -i "cache",且必须用 --all(非 -a),私有包需额外指定有效 --repository。

composer show --all 不是搜索命令,它只列出 Packagist(或你配置的私有源)上注册的所有包名和简短描述,不支持关键词模糊匹配,也不返回版本详情。
为什么 composer show --all | grep "xxx" 是唯一靠谱的“搜索”方式
composer show --all 本身没有内置搜索逻辑,它只是把整个 Packagist 的包索引拉下来——约 40 万+ 条目,每行格式为 vendor/name + 描述。你不加管道过滤,就只能滚动翻屏到眼花。
- 想查带 “cache” 的包?必须:
composer show --all | grep -i cache - 想确认有没有
spatie/laravel-ray?直接:composer show --all | grep "spatie/laravel-ray",别输错大小写或漏/ - 输出太长卡顿?加
| less,进less后按/ray搜索更稳 - 如果
grep没结果,不代表包不存在——可能是你没配私有源,或该包只在repositories里声明但未启用
composer show --all 不显示版本号,别指望靠它选版本
这个命令输出里只有包名和一行 description,像这样:guzzlehttp/guzzle PHP HTTP client library。它不告诉你最新稳定版是 v7 还是 v8,也不标 PHP 兼容性。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 要查具体版本列表(含
v8.0.0、dev-main、3.0.x-dev),必须指定完整包名:composer show --all guzzlehttp/guzzle - 漏掉
--all直接composer show guzzlehttp/guzzle,只会返回本地composer.lock里缓存过的版本,可能滞后数天 -
-a是无效别名,会被忽略且不报错,结果还是旧缓存 —— 必须用双横线--all
私有包查不到?缺 --repository 或配置失效
团队自建的 Satis/Toran 包默认不会出现在 composer show --all 结果里,除非你显式告诉 Composer 去哪找。
- 临时查一个私有源:
composer show --all --repository https://pkgs.internal.example.com/packages.json - URL 必须指向有效的
packages.json,填 Git 地址会报Could not parse version constraint - 如果已配在
composer.json的repositories里,--all会自动合并查询;但若该源不可达或返回空响应,对应包就彻底隐身 - 执行前先确认源可用:
curl -I https://pkgs.internal.example.com/packages.json看是否返回 200
真正容易被忽略的是:composer show --all 的结果受当前项目 composer.json 中 repositories 配置影响,而不是全局设置;换个项目目录,没配源就什么私有包都看不到。










