Failed to build the web image of version 1.14.2 on Windows system

用户在 Windows 系统上,通过 docker build 命令构建 Dify 1.14.2 版本的 Web 镜像时触发问题。

快速结论:该报错通常出现在使用 Docker 在 Windows 系统上构建 Dify Web 镜像(版本 1.14.2)时。优先排查 web/Dockerfile.dockerignore 是否包含 **/node_modules 条目,或尝试从 main 分支构建。

问题场景

用户在 Windows 系统上,通过 docker build 命令构建 Dify 1.14.2 版本的 Web 镜像时触发问题。

报错原文

Module not found: Can't resolve '@base-ui/react/...'
(共 35 个类似的 Module not found 错误)

原因分析

根本原因在于,Docker 构建过程中的 builder 阶段执行了 COPY . . 命令,将整个源码目录复制到镜像中。这一步可能会覆盖之前由 packages 阶段正确安装的 node_modules 目录(特别是 packages/dify-ui/node_modules 中解析 @base-ui/react 依赖的部分),导致构建时无法找到该依赖,从而引发报错。

环境排查

  • Dify 版本:1.14.2
  • 操作系统:Windows system
  • Docker 版本(建议确认)
  • 检查项目根目录是否存在 .dockerignore 文件,以及该文件是否误将 packages/ 目录下构建所需的内容排除。

解决步骤

  1. 检查 web/Dockerfile.dockerignore 文件是否存在。如果不存在,则创建一个。
  2. 确保 web/Dockerfile.dockerignore 文件中包含以下内容:
    **/node_modules
  3. 如果无法修改该文件,作为替代方案,可以尝试从 main 分支(而非 1.14.2 标签)构建镜像,因为相关修复已合并到 main 分支中。
  4. 可优先尝试:确认项目根目录下的 .dockerignore 文件没有意外排除 packages/ 目录下的内容。

验证方法

重新执行 Docker 构建命令,观察构建日志是否仍出现 Module not found: Can't resolve '@base-ui/react/...' 报错。若构建成功且无此错误,则问题已解决。

参考来源

langgenius/dify #37406

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18352

发表回复

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