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 驱动安装,并且数据库结构初始化成功后,即使移除部分测试变量,应用也能稳定运行。