Roach PHP 爬虫框架未发布到 Packagist,需手动添加 GitHub VCS 仓库并指定 dev-main 版本;安装后须配置 PSR-4 自动加载映射;依赖 ext-curl 和 ext-json 扩展及 PHP 8.0+;roach CLI 需确保 vendor/bin 在 PATH 中。

Roach 不是 Composer 官方包,不能直接 composer require roachphp/roach
Roach PHP 爬虫框架目前没有发布到 Packagist,所以执行 composer require roachphp/roach 会报错:Could not find package roachphp/roach。这不是你网络或配置问题,是它压根没上主仓库。
正确做法是手动添加 GitHub 仓库为 VCS 源,并指定开发分支:
- 在项目根目录的
composer.json中添加"repositories"字段(如果不存在) - 指向 Roach 的官方 GitHub 仓库:
"https://github.com/roachphp/roach" - 用
"dev-main"作为版本约束(它当前只有main分支,无稳定 tag)
示例片段:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/roachphp/roach"
}
],
"require": {
"roachphp/roach": "dev-main"
}
}
安装后必须手动启用 PSR-4 自动加载,否则 RoachSpider 找不到类
Roach 没有提供标准的 autoload 配置,Composer 安装完不会自动注册命名空间。运行时会抛出 Class 'RoachSpider' not found。
立即学习“PHP免费学习笔记(深入)”;
解决方法是在你的 composer.json 的 "autoload" 下补全映射:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 确保
"autoload"包含"psr-4"规则 - 添加
"Roach\": "vendor/roachphp/roach/src/" - 执行
composer dump-autoload生效
注意路径大小写:源码中是 src/,不是 SRC 或 src(Linux 下敏感)。
运行 Roach 前要确认 PHP 版本和扩展,ext-curl 和 ext-json 缺一不可
Roach 依赖 cURL 发起 HTTP 请求、json 解析响应,默认不检查这些扩展是否启用。遇到 Call to undefined function RoachUtilHttpcurl_init() 就是 ext-curl 没开。
验证方式很简单:
- 命令行运行
php -m | grep -E "curl|json",两个都得在输出里 - 若用 XAMPP/MAMP,需在 php.ini 中取消
;extension=curl和;extension=json前的分号 - PHP 8.1+ 可以,但低于 8.0 不支持(Roach 使用了
match表达式等新语法)
第一次跑 roach 命令失败?别急着重装,先检查 vendor/bin 是否在 PATH 里
Roach 提供了 CLI 工具 roach,但安装后执行提示 command not found: roach,大概率是因为 vendor/bin 没加入系统 PATH,或者你用了 --no-bin 安装。
临时解决最直接:
- 进项目目录,直接运行
./vendor/bin/roach list - 想全局用,把
$(pwd)/vendor/bin加进 shell 的 PATH(如 ~/.zshrc) - 别删
vendor/bin/roach文件——它是 symlink,指向vendor/roachphp/roach/bin/roach,删了就断了
CLI 启动慢是正常现象,首次加载会扫描全部中间件和服务,不是卡死。


















