Railway平台部署Node API一直处于building状态求助
解决Railway部署Node API一直卡在Building状态的问题
核心原因
你把构建命令设成了npm start,导致Railway在构建阶段启动了服务器进程。而构建阶段要求执行的命令必须正常退出才能进入启动环节,服务器启动后会一直运行不退出,所以构建流程永远卡在Building状态。
修复步骤
明确Build与Start命令的分工
- Railway的「Build Command」是用来执行依赖安装、代码编译等一次性构建操作的,比如
npm install(默认会自动执行,无需手动设置),如果是TS项目则设为npm run build - 「Start Command」才是用来启动服务器的,应该设置为
npm start
- Railway的「Build Command」是用来执行依赖安装、代码编译等一次性构建操作的,比如
调整Railway项目配置
- 进入项目的「Settings」→「Build and Deploy」面板
- 将「Build Command」修改为:如果不需要额外构建就留空,或者根据项目需求设为
npm install/npm run build - 将「Start Command」明确设置为
npm start
验证流程逻辑
- 从你的日志能看到
Server is on in 3000是在构建步骤(RUN npm run start)中输出的,这完全不符合正常部署流程 - 正确流程是:构建阶段完成后自动退出,启动阶段再执行
npm start启动服务器,此时服务器持续运行,Railway会识别为Success状态
- 从你的日志能看到
额外检查项
- 确认根目录设置为「api」无误,Railway会在该目录下读取
package.json并执行命令 - 检查
api/package.json的scripts里是否存在start命令,且指向正确的启动文件(比如"start": "node server.js")
- 确认根目录设置为「api」无误,Railway会在该目录下读取
内容的提问来源于stack exchange,提问作者maria
相关产品推荐
相关产品推荐

