roadrunner 二进制文件必须通过 ./vendor/bin/rr get-binary 显式下载,仅 composer require spiral/roadrunner-cli 不会安装可执行文件;该命令自动检测系统环境并从 github 下载对应 rr 二进制,windows 需用 .\rr 调用或配置 path。

RoadRunner 二进制文件必须由 Composer 下载到项目本地,不能仅靠 composer require 就完事——后者只装 PHP SDK,不提供可执行文件。
为什么 composer require spiral/roadrunner-cli 不等于“装好了 RoadRunner”
这个命令只安装了 PHP 包 spiral/roadrunner-cli,它本质是一个命令行工具包装器,真正运行服务的 rr 二进制文件仍为空。你执行 rr version 会报错 “command not found” 或直接退出。
-
spiral/roadrunner-cli是控制台工具,负责调用rr二进制,本身不包含服务器逻辑 - 真正的 RoadRunner 服务是 Go 编译的独立可执行文件,需单独下载并放在 PATH 或项目根目录
- Composer 安装后必须显式触发
./vendor/bin/rr get-binary才能拉取对应平台的rr
./vendor/bin/rr get-binary 实际做了什么
该命令会检测当前操作系统(Linux/macOS/Windows)、架构(amd64/arm64)和系统位数,然后从 GitHub Releases 自动下载匹配的预编译 rr 二进制,并赋予可执行权限。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 下载地址形如:
https://github.com/roadrunner-server/roadrunner/releases/download/v2025.3.0/rr_2025.3.0_linux_amd64 - 默认保存为项目根目录下的
rr(Linux/macOS)或rr.exe(Windows) - 不会覆盖已有文件,除非加
--force参数 - 若网络受限(如国内),可能卡在下载环节——此时应手动下载并放入项目根目录
Windows 用户特别注意的路径与权限问题
在 Windows 上,rr.exe 放进项目根目录后,CMD/PowerShell 默认无法直接运行 rr,必须写全名或加 .\ 前缀。
- ❌ 错误:直接输入
rr serve→ 报错 “'rr' is not recognized as an internal or external command” - ✅ 正确:输入
.\rr serve或把rr.exe所在目录加进系统PATH - ⚠️ 注意:某些杀毒软件会拦截刚下载的
rr.exe,提示“未知发行者”,需临时放行或从 GitCode 镜像站下载 - ? 替代方案:用 Chocolatey 安装全局
rr(choco install roadrunner),但版本更新滞后,且与项目隔离
生产环境部署时,别让 rr 依赖 Composer 的自动机制
CI/CD 流水线或容器构建中,./vendor/bin/rr get-binary 可能因无交互、无网络或权限限制失败。这时候硬编码下载逻辑更可靠。
- 推荐在 Dockerfile 中用
curl直接拉取(避开 Composer CLI 层):
RUN curl -L https://github.com/roadrunner-server/roadrunner/releases/download/v2025.3.0/rr_2025.3.0_linux_amd64 -o /usr/local/bin/rr && chmod +x /usr/local/bin/rr
rr --version 输出,而非只依赖 composer install 成功.rr.yaml 必须存在且语法正确,否则 rr serve 启动时会静默失败(只输出 failed to load config,不提示具体哪行错)真正容易被忽略的是:RoadRunner 的生命周期完全独立于 Composer。删掉 vendor/ 不影响已下载的 rr,但重装 spiral/roadrunner-cli 后,若没再跑一次 get-binary,你就只剩一个“会喊口号但没枪”的命令行工具。










