composer search命令已彻底移除,因packagist自2022年底关闭搜索api,composer 2.2起直接删除该命令;可靠替代方案是curl调用https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19/search.json?q=关键词或访问packagist官网搜索。

composer search 命令根本不能用了
它不是你装错了,也不是镜像没配对——Packagist 官方从 2022 年底起就关闭了搜索 API,Composer 2.2(2023 年发布)正式移除 search 命令。现在运行 composer search log 会直接报错:Command "search" is not defined。别折腾 --only-name 或 composersearch 这类旧脚本,它们早已失效且不兼容当前接口。
真能用的替代方案只有两个
一是用 curl 直调 Packagist 公开接口,二是打开网页搜。两者都比命令行更可靠:
-
curl -s "https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19/search.json?q=redis"—— 返回 JSON,含包名和描述,国内用户建议加--retry 2防超时 - 没装
jq?至少加| head -n 20控制输出长度,避免刷屏 - 想看人话结果:用
curl -s "https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19/search.json?q=log" | jq '.results[] | {name: .name, desc: .description}' - 网页搜索永远最准:https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19,支持关键词、维护状态、PHP 版本过滤、stars 排序
搜到了却 composer require 不上?这不是搜索问题
这是安装阶段的二次校验失败,常见卡点有:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
minimum-stability默认是stable,会跳过dev、alpha、rc版本,哪怕搜索结果里显示了vendor/package:v2.0.x-dev - 项目已锁死某个依赖(如
guzzlehttp/guzzle:^7.5),而你要装的包要求^8.0,Composer 不报冲突,只静默跳过 - PHP CLI 版本或缺失扩展(如
ext-intl)不满足包的require字段 - 镜像同步延迟:新发布的包在
packagist.org页面可见,但腾讯云/阿里云镜像可能滞后 5–30 分钟甚至数小时 - 项目级
repositories配置覆盖了全局源:只要composer.json里写了"repositories",默认就关掉packagist.org,连monolog/monolog都会报 “not found”
中文包搜不到?关键不在语言,在发布路径
Composer 不识别“中文包”,只认合法的 vendor/name 格式和源。搜不到国内开发的包,通常因为:
- 包没提交到 Packagist,只托管在 Gitee/GitHub —— 此时必须手动加
vcs源:{"type":"vcs", "url":"https://gitee.com/overtrue/wechat"} - 包名大小写或分隔符错误:
overtrue/wechat和Overtrue/WeChat是两个不同包,后者直接 404 - 仓库的
composer.json里没写"name"字段,或值为空/非法格式,Composer 会拒绝加载 - 用了已停更的镜像源,比如
https://mirrors.aliyun.com/composer/(阿里云自 2024 年起停止维护)或packagist.laravel-china.org(2023 年底停用)
真正卡住人的,往往不是找不到包,而是搜到后没意识到安装阶段还有环境校验、源覆盖、版本约束三重过滤。很多问题查 composer show vendor/package 就能暴露真实拦路虎,而不是反复换关键词重试。










