V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
vhjihuang66
V2EX  ›  程序员

# [教程] Strapi v5 部署 Railway 避坑指南:告别 AggregateError

  •  
  •   vhjihuang66 · 8 小时 31 分钟前 · 181 次点击

    Strapi v5 部署 Railway 避坑指南:必装 pg/修复 file-type ,新用户领 $20 额度

    大家好,在部署 Strapi v5.x 到 Railway 时,我踩了几个常见的坑,这里总结了 最小化配置,希望能帮到有需要的开发者。同时附上 Railway 账户变更和 $20 福利信息


    🛠️ 核心代码与依赖修复(部署成功的前提)

    这是部署成功的硬性要求,必须在本地完成并提交。

    1. 修复 file-type ESM 兼容性错误

    Strapi v5 版本在依赖处理上仍有兼容性问题,必须锁定 file-type 版本。

    解决方案:package.json 中添加 overrides

    "overrides": {
      "file-type": "16.5.4"
    }
    

    2. 数据库驱动缺失

    Railway 默认使用 PostgreSQL ,必须手动安装驱动,否则部署必报错。

    解决方案: 安装 pg

    npm install pg --save
    

    注:切记! Railway 文件系统是临时的,千万不要 使用默认的 SQLite 。


    💻 平台现状与 $20 额度获取 (福利对比)

    1. Railway 账户和付费要求 (重要变更)

    • 服务模式:❌ 已取消 $5 免费额度,现为纯付费服务。
    • 支付要求:必须绑定 国际信用卡/借记卡 (Visa/Mastercard) 完成验证。

    2. 福利获取对比 (透明说明)

    如果你是新用户,强烈建议使用推广链接注册,这是你获得 $20 额度的唯一途径。

    注册方式 获得额度 作者收益
    自行注册(不使用链接) $0 部署额度 $0
    使用下方链接注册 **$20** 部署额度 首次支付账单金额的 15% 现金收益

    🔗 点击此处注册 Railway 获得 $20 额度: https://railway.com?referralCode=vSLQAv


    ⚙️ 部署与环境变量配置

    1. 环境变量极简原则

    Strapi 会自动解析 Railway 注入的 DATABASE_URL,其中包含了连接 PostgreSQL 所需的所有参数。你几乎不需要手动设置任何连接变量。

    • DATABASE_URL核心变量,无需设置。 Railway 自动注入。
    • DATABASE_CLIENT无需设置。 Strapi 会自动识别 postgres 协议。
    • DATABASE_SSL排查点。 如果出现 AggregateError,尝试在环境变量中设置为 true 进行测试。

    2. AggregateError 核心原则

    这个错误通常发生在 数据库初始化阶段。一旦你完成了上述的代码修复和 pg 驱动安装,并且数据库结构初始化成功后,即使移除部分测试变量,应用也能稳定运行。

    2 条回复    2025-11-20 20:07:15 +08:00
    oldmii
        1
    oldmii  
       7 小时 41 分钟前
    为什么用了你的 aff 注册了还是$5 美金???
    vhjihuang66
        2
    vhjihuang66  
    OP
       5 小时 19 分钟前
    @oldmii 从结果来看,你好像没有通过我的链接实现注册,我也没有拿到.都是 0
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1172 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:26 · PVG 01:26 · LAX 09:26 · JFK 12:26
    ♥ Do have faith in what you're doing.