You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Railway部署Next.js时Docker构建失败:npm run build执行出错

解决Railway部署Next.js时Docker构建失败(Clerk相关Webpack错误)

以下是针对该问题的具体解决步骤:

  • 检查Clerk与Next.js版本兼容性
    确认@clerk/clerk-react和Next.js版本匹配,Next.js 13+需要对应版本的Clerk包。执行npm list @clerk/clerk-react next查看当前版本,若不兼容,执行npm install @clerk/clerk-react@latest next@latest(或指定Clerk官方推荐的兼容版本),更新后重新推送代码。

  • 清除Docker缓存重新构建
    Railway的缓存可能残留旧依赖或构建产物,导致错误。在Railway的部署页面中,找到构建选项并勾选「Rebuild without cache」触发全新构建;也可在本地执行docker builder prune -a清除本地Docker缓存后再推送代码。

  • 验证App Router与Clerk配置
    由于使用App Router(app/(auth)/sign-up/[[...sign-up]]/page.jsx),需确保:

    1. 在app/layout.jsx中正确导入并包裹<ClerkProvider>组件;
    2. Railway项目的环境变量中已正确设置NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY和CLERK_SECRET_KEY,无拼写错误或遗漏。
  • 排查自定义Webpack配置
    若项目有自定义next.config.js,检查是否存在影响.mjs模块解析的规则。可暂时移除自定义Webpack配置尝试构建,若成功则逐步排查配置中的问题。

  • 本地验证构建流程
    先在本地执行npm run build,若本地也失败,说明问题源于项目本身:删除node_modules、package-lock.json和.next目录,执行npm install后重新构建,确认本地构建正常后再推送至Railway。

内容的提问来源于stack exchange,提问作者Shyam Swaran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 21:40:23