Amazon Linux 2 EC2实例安装Node.js遇glibc版本不足错误
问题描述
我正尝试在以下环境的EC2实例中安装Node.js和npm:
cat /etc/os-release NAME="Amazon Linux" VERSION="2" ID="amzn" ID_LIKE="centos rhel fedora" VERSION_ID="2" PRETTY_NAME="Amazon Linux 2" ANSI_COLOR="0;33" CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2" HOME_URL="https://amazonlinux.com/" SUPPORT_END="2025-06-30"
无论使用curl -sL https://rpm.nodesource.com/setup_xxx.x | sudo -E bash -脚本还是nvm方式,均出现如下依赖错误:
Resolving Dependencies --> Running transaction check ---> Package nodejs.x86_64 2:18.19.0-1nodesource will be installed --> Processing Dependency: glibc >= 2.28 for package: 2:nodejs-18.19.0-1nodesource.x86_64 --> Processing Dependency: libm.so.6(GLIBC_2.27)(64bit) for package: 2:nodejs-18.19.0-1nodesource.x86_64 --> Processing Dependency: libc.so.6(GLIBC_2.28)(64bit) for package: 2:nodejs-18.19.0-1nodesource.x86_64 --> Finished Dependency Resolution Error: Package: 2:nodejs-18.19.0-1nodesource.x86_64 (nodesource-nodejs) Requires: libm.so.6(GLIBC_2.27)(64bit) Error: Package: 2:nodejs-18.19.0-1nodesource.x86_64 (nodesource-nodejs) Requires: libc.so.6(GLIBC_2.28)(64bit) Error: Package: 2:nodejs-18.19.0-1nodesource.x86_64 (nodesource-nodejs) Requires: glibc >= 2.28 Installed: glibc-2.26-63.amzn2.0.1.x86_64 (@amzn2-core) glibc = 2.26-63.amzn2.0.1
请问该机器是否无法安装合适的Node.js LTS版本?新建EC2实例是否能获取更新的系统环境以完成Node.js部署?
解决方案与回答
- 当前实例可安装的Node.js LTS版本
Amazon Linux 2的官方软件源提供了Node.js 16.x(LTS版本),可以直接通过yum安装,不会触发依赖错误:
sudo yum install -y nodejs
若要安装18.x及以上的Node.js LTS版本,由于这些版本要求glibc 2.28+,而Amazon Linux 2的glibc版本固定为2.26(官方不会升级核心库以保证系统稳定性),所以直接用nodesource脚本或nvm会失败,无法通过常规方式安装高版本。
- 新建EC2实例的环境选择
如果需要部署高版本Node.js LTS,新建实例时选择Amazon Linux 2023(AL2023)即可,该系统的glibc版本为2.36,完全满足当前所有Node.js LTS版本的依赖要求,可正常使用nodesource脚本或nvm安装任意LTS版本。
此外,也可以选择Ubuntu、Debian等发行版的EC2实例,这类系统的软件源更新更频繁,也能轻松安装最新Node.js版本。
内容的提问来源于stack exchange,提问作者NewGuy
相关产品推荐
相关产品推荐

