如何在Route53托管的AWS Amplify实例中更新Node.js版本
问题根源说明
Route53仅负责域名的解析与托管,和构建环境的Node.js版本没有任何关系,你的构建失败问题完全出在AWS Amplify的构建配置上。
两种更新Node.js版本的方法
方法一:通过Amplify控制台可视化配置
- 登录AWS Amplify控制台,找到你的目标应用
- 进入「Build settings」页面
- 找到「Build image settings」模块,点击「Edit」按钮
- 在「Node version」的下拉选项中,选择版本号≥18.14.1的选项(比如18.x LTS或20.x LTS)
- 保存配置后,手动触发一次新的构建任务即可
方法二:通过项目配置文件代码化管理(推荐)
这种方式可以把版本配置纳入代码仓库,避免环境不一致问题,有两种实现方式:
方式A:在package.json中指定Node版本
在项目根目录的package.json里添加engines字段:
{ // 其他原有字段... "engines": { "node": ">=18.14.1" } }
将修改后的代码推送到仓库,Amplify会自动识别并使用符合要求的Node版本构建。
方式B:修改amplify.yml构建脚本
如果需要更灵活的版本控制,可以在项目根目录的amplify.yml中,在构建前指定Node版本:
version: 1 frontend: phases: preBuild: commands: - nvm install 18.14.1 - nvm use 18.14.1 build: commands: - npm install - npm run build artifacts: baseDirectory: dist # 根据你的项目打包输出目录调整 files: - '**/*' cache: paths: - node_modules/**/*
推送修改后的配置文件到仓库,Amplify会执行preBuild阶段的命令切换Node版本后再构建。
内容的提问来源于stack exchange,提问作者xkeshav
相关产品推荐
相关产品推荐

