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

部署Gatsby/React网站到Amazon Amplify遇GLIBC版本缺失错误求助

解决Amazon Amplify部署Gatsby时的GLIBC版本错误

问题详情

部署基于React构建的Gatsby网站到Amazon Amplify时,持续触发以下错误:

node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)

Amplify控制台完整日志:

2022-11-29T03:46:43.053Z [INFO]: Now using node v18.0.0 (npm v)
2022-11-29T03:46:43.080Z [INFO]: Installing default global packages from /root/.nvm/default-packages...
2022-11-29T03:46:43.080Z [INFO]: npm install -g --quiet yarn@1.22.0
2022-11-29T03:46:43.082Z [WARNING]: node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
                                    node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
2022-11-29T03:46:43.083Z [WARNING]: Failed installing default packages. Please check if your default-packages file or a package in it has problems!
2022-11-29T03:46:43.084Z [INFO]: # Executing command: yarn install
2022-11-29T03:46:43.115Z [WARNING]: node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
                                    node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
2022-11-29T03:46:43.115Z [ERROR]: !!! Build failed
2022-11-29T03:46:43.116Z [ERROR]: !!! Non-Zero Exit Code detected

相关配置:

  • package.json中的Node版本要求:
    "engines" : { 
      "node" : ">=18.0.0"
    }
    
  • Amplify构建设置(amplify.yml):
    version: 1
    frontend:
      phases:
        preBuild:
          commands:
            - nvm install 18.12.1
            - yarn install
        build:
          commands:
            - yarn run build
      artifacts:
        baseDirectory: public
        files:
          - '**/*'
      cache:
        paths:
          - node_modules/**/*
    

解决方案

1. 切换到Amazon Linux 2构建镜像

旧版Amazon Linux 1镜像自带的GLIBC版本低于Node.js 18+要求的2.27/2.28版本,必须切换到Amazon Linux 2镜像:

  • 登录Amplify控制台,进入目标应用→构建设置→编辑
  • 在页面底部找到构建镜像选项,选择Amazon Linux 2后保存设置

2. 修正Node版本的构建设置

在amplify.yml中明确指定使用安装后的Node版本,避免Amplify自动选用不兼容的v18.0.0:

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - nvm install 18.12.1
        - nvm use 18.12.1  # 新增此命令,确保使用指定版本
        - yarn install
    build:
      commands:
        - yarn run build
  artifacts:
    baseDirectory: public
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

3. 禁用默认全局包安装干扰

如果全局包安装步骤触发错误,可在preBuild阶段先清空默认包配置文件:

preBuild:
  commands:
    - rm -f /root/.nvm/default-packages  # 清空默认包列表
    - nvm install 18.12.1
    - nvm use 18.12.1
    - yarn install

4. 清空构建缓存后重新构建

旧缓存可能残留不兼容的依赖文件:

  • 在Amplify控制台的构建历史中,找到最近的构建记录→操作→清空缓存并重新构建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 04:15:31