composer search 命令本身已废弃,自 Composer 2.2 起默认禁用,直接运行会报错 Command "search" is not defined.。别再试了,它不工作。
为什么 composer search 不可用
Composer 官方移除了该命令,主因是搜索逻辑依赖 Packagist 的旧 API,维护成本高且结果不可靠。现在所有包发现行为都转向网页端或第三方工具。
- Composer CLI 不再内置搜索能力,
composer search不是“暂时失效”,而是彻底下线 - 即使降级到 Composer 1.x,
search返回的结果也常为空或严重滞后(例如搜laravel/sanctum可能压根不出现) - 本地
composer.json或已安装包不影响搜索——它本来就不查本地,只连 Packagist,而这个通道已关闭
替代方案:用 Packagist 网页搜索最可靠
所有公开包都托管在 https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19,这是唯一权威来源。搜索体验远优于旧 CLI:
- 支持关键词、作者名、标签(如
tag:cache)、PHP 版本兼容性筛选 - 结果页直接显示安装命令:
composer require vendor/package - 点进包页能看到
require推荐版本、依赖树、GitHub 源链接、最近更新时间 - 搜
http client这类泛词,可配合过滤器缩小范围(比如选 “Stable only” 或 “PHP 8.1+”)
命令行里真想搜?用 curl + Packagist API(临时应急)
Packagist 提供只读 JSON API,虽非官方推荐,但能快速查包是否存在: