在Railway部署Angular 20时遭遇Node.js版本不兼容问题的求助
在Railway部署Angular 20时遭遇Node.js版本不兼容问题的求助
问题描述
我最近在尝试把Angular v20的项目部署到Railway上,项目已经关联了GitHub仓库,但在构建阶段遇到了Node.js版本不兼容的问题。Railway检测到的Node版本不符合Angular CLI的要求,具体错误如下:
Node.js version v22.11.0 detected. The Angular CLI requires a minimum Node.js version of v20.19 or v22.12. Please update your Node.js version or visit https://nodejs.org/ for additional instructions.
构建日志的最终报错是:
✕ [stage-0 8/10] RUN npm run build process "/bin/bash -ol pipefail -c npm run build" did not complete successfully: exit code: 3
已尝试的解决方法
我已经试过好几种方式来指定Node版本,但都没成功:
- 在Railway的环境变量里设置
NIXPACKS_NODE_VERSION=22.12.0,也试过设为20.19.0,但Railway实际安装的是20.18.x版本,这个版本也不满足Angular 20至少20.19的要求 - 在
package.json里添加了engines字段:
但Railway还是会用22.11.0或者20.18.0版本"engines": { "node": ">=20.19.0 <21 || >=22.12.0" } - 试过添加
railway.json文件来指定输出目录,但问题出在更早的ng build步骤,所以这个配置没起作用
当前困境
看起来Railway目前还没有提供20.19.0或者22.12.0这两个精确的Node版本,导致Angular 20无法正常构建。另外我暂时不想用Dockerfile,因为还不太熟悉它的用法。
我的问题
- 有没有办法强制Railway使用Node v20.19.0或者v22.12.0版本?
- 有没有不依赖Dockerfile的推荐方案,能在Railway上部署Angular 20?
- 我是不是在Railway或者package.json里漏掉了什么配置?
内容来源于stack exchange
相关产品推荐
相关产品推荐

