[Bug]: v0.26.4 docker up failed for missing files

用户在 Linux 系统(Lubuntu 24.04.4)上,使用 docker compose 启动 RAGFlow v0.26.4 容器时,容器日志中反复出现脚本缺失错误,导致服务无法正常启动。

[Bug]: v0.26.4 docker up failed for missing files

[Bug]: v0.26.4 docker up failed for missing files

快速结论:这个报错通常发生在用户从 Git 仓库中拉取代码后,直接使用 docker compose up 启动 v0.26.4 版本时,由于工作区代码版本与 Docker 镜像版本不一致,导致 entrypoint.sh 引用了 v0.27.0 开发分支中才存在的 tools/scripts/run_migrations.sh 脚本,但该脚本在 v0.26.4 发布时尚未被创建。优先排查当前 Git 签出(checkout)的版本是否为干净的 v0.26.4 标签。

问题场景

用户在 Linux 系统(Lubuntu 24.04.4)上,使用 docker compose 启动 RAGFlow v0.26.4 容器时,容器日志中反复出现脚本缺失错误,导致服务无法正常启动。

报错原文

./entrypoint.sh: line 258: tools/scripts/run_migrations.sh: No such file or directory

原因分析

这是一个典型的版本混合问题(version mismatch)。tools/scripts/run_migrations.sh 文件是作为 v0.27.0 开发的一部分(由 PR #16604 引入,于 2026-07-08 合并)才被创建的。而 v0.26.4 版本发布于 2026-07-07,在该脚本被创建之前。entrypoint.sh 中引用了该脚本,但实际代码库中并不存在该文件,说明用户当前的工作树(working tree)混合了不同版本的代码,可能是在 v0.26.4 标签之外的开发分支上操作。

环境排查

  • 确认当前 Git 仓库的提交 ID(commit ID):参考 Issue 中用户提供的 ID 为 699a25c19cc789e75a62838eea9f8f2cc1c6d3a5
  • 确认 Docker 镜像版本:确认拉取的镜像标签是否为 v0.26.4
  • 确认工作区代码状态:检查 entrypoint.sh 中第 258 行是否确实引用了 tools/scripts/run_migrations.sh,并检查该路径下是否存在目标文件。

解决步骤

  1. 可优先尝试:将当前工作区切换到官方的 v0.26.4 发布标签。
  2. 在仓库根目录下运行 git fetch --tags 确保获取所有远程标签。
  3. 运行 git checkout v0.26.4 签出干净的 v0.26.4 版本代码。
  4. 停止并清理旧容器:运行 docker compose down
  5. 重新构建镜像并启动服务:运行 docker compose -f docker-compose.yml up -d
  6. 如果用户希望使用最新功能(包括该迁移脚本),也可以切换到 main 分支进行构建。

验证方法

运行容器启动后,检查日志不再出现 No such file or directory 错误,同时确认 tools/scripts/run_migrations.sh 文件存在于工作区的对应路径下。可以通过 ls tools/scripts/run_migrations.sh 命令验证文件是否存在。

参考来源

infiniflow/ragflow #16729

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 14989

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注