You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Astro v3在AWS Amplify构建失败:缺失GLIBC_2.27/2.28版本

解决AWS Amplify(Amazon Linux 2)上Node.js 18.14.1的GLIBC版本不兼容问题

问题根源

Amazon Linux 2默认自带的GLIBC版本为2.26,而你使用的Node.js 18.14.1编译时依赖更高版本的GLIBC(2.27及2.28),导致运行时出现版本缺失错误。

解决方法

1. 切换到兼容的Node.js 18.x版本

Node.js官方从18.17.0开始,针对旧版Linux发行版(包括Amazon Linux 2)提供了兼容GLIBC 2.26的预编译二进制包。你可以直接在Amplify构建配置中指定该版本:

修改amplify.yml中的preBuild命令:

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - nvm install 18.17.0
        - nvm use 18.17.0
        - npm ci

2. 使用NodeSource的兼容包安装Node.js

如果需要固定使用特定版本,可通过NodeSource的rpm包安装,这些包针对Amazon Linux 2做了适配:

在amplify.yml的preBuild阶段替换为以下命令:

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -
        - yum install -y nodejs
        - node -v # 确认安装的版本
        - npm ci

3. 自定义构建镜像(进阶)

若上述方法无法满足需求,可创建基于Amazon Linux 2的自定义Docker镜像,手动升级GLIBC到所需版本,然后上传至AWS ECR,配置Amplify使用该自定义镜像。此方法需要容器相关经验,且需长期维护镜像。

验证建议

在本地使用Docker拉取amazonlinux:2镜像,模拟Amplify构建环境测试Node.js版本兼容性,避免反复触发Amplify构建浪费时间:

docker run -it amazonlinux:2 bash
# 在容器内执行安装命令,验证Node.js是否能正常运行

内容的提问来源于stack exchange,提问作者xkeshav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 01:20:08