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

AWS CloudShell中CDK Bootstrap因Node.js 16 EOL失败,如何解决?

解决AWS CloudShell中CDK Node版本兼容与GLIBC依赖问题

问题根源

AWS CloudShell默认基于Amazon Linux 2,系统自带的GLIBC版本为2.26,而Node.js 18+的预编译二进制包要求GLIBC 2.27+,直接用nvm安装会触发依赖错误;同时旧版Node 16已终止支持,导致CDK命令报错且依赖包缺失。

可行解决方案

方案1:使用NodeSource的Amazon Linux 2兼容包安装Node 18

此方案通过yum安装针对Amazon Linux 2编译的Node.js,规避GLIBC版本问题:

  • 清理现有环境:
    nvm uninstall 18  # 若之前安装过nvm版Node 18
    sudo npm uninstall -g aws-cdk
    
  • 添加NodeSource的Node 18仓库:
    curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
    
  • 安装Node.js 18:
    sudo yum install -y nodejs
    
  • 验证版本:
    node --version  # 应显示v18.x.x
    npm --version
    
  • 重新安装CDK并修复依赖:
    sudo npm install -g aws-cdk
    cd 你的CDK项目目录
    npm install  # 解决@aws-cdk/core缺失问题
    cdk bootstrap
    

方案2:用Docker容器运行Node 18环境

利用CloudShell支持Docker的特性,在容器内运行符合要求的Node环境:

  • 拉取Node 18 Alpine镜像(轻量且依赖要求低):
    docker pull node:18-alpine
    
  • 进入CDK项目目录,启动容器并挂载当前目录:
    docker run -it --rm -v $(pwd):/app -w /app node:18-alpine sh
    
  • 在容器内完成CDK操作:
    npm install -g aws-cdk
    npm install
    cdk bootstrap
    

    注:CloudShell的AWS凭证会自动挂载到容器中,无需额外配置。

方案3:切换到Amazon Linux 2023 CloudShell环境

Amazon Linux 2023自带更高版本的GLIBC,支持直接用nvm安装Node 18:

  1. 点击CloudShell右上角的齿轮图标进入设置
  2. 选择「Change environment」,切换到「Amazon Linux 2023」并保存
  3. 重启CloudShell后,执行:
    nvm install 18
    nvm use 18
    sudo npm install -g aws-cdk
    cd 你的CDK项目目录 && npm install
    cdk bootstrap
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:23:26