Railway部署构建失败:Node.js 14与Python版本不兼容,回滚无效
问题解决:Railway构建因Python版本不兼容失败
问题根源
从构建日志可明确:Node.js 14.x要求Python版本为3.10/3.9/3.8/3.7/3.6/3.5/2.7,但当前Nixpacks环境使用的是Python 3.11.5,导致Node.js编译失败,进而整个构建流程中断。该问题属于环境依赖不匹配,与代码提交无关,因此回滚代码无法解决。
解决方案
1. 指定Python版本(推荐)
在项目根目录创建nixpacks.toml文件,强制Nixpacks使用兼容的Python版本(以3.10为例):
[phases.setup] nixPkgs = ["python310"]
2. 升级Node.js版本
若项目兼容,将Node.js版本升级至16.x及以上(Node.js 16+原生支持Python 3.11):
- 修改项目根目录的
.nvmrc文件内容为16 - 或修改
package.json中的engines字段:"engines": { "node": ">=16.0.0" }
3. 自定义Dockerfile
若前两种方法无效,可直接提供自定义Dockerfile手动控制构建环境:
FROM node:14-bullseye-slim WORKDIR /app COPY package*.json ./ RUN yarn install --frozen-lockfile COPY . . RUN yarn run build CMD ["yarn", "start"]
验证方式
提交上述修改后触发Railway重新构建,确认日志中Python版本为兼容版本,且构建流程正常完成。
内容的提问来源于stack exchange,提问作者swtt-pch
相关产品推荐
相关产品推荐

