如何在旧版Amazon Linux EC2实例中安装NodeJS 18或最新版本?
解决旧Amazon Linux EC2实例安装Node.js 18失败的问题
问题根源
2018年或更早的Amazon Linux实例多为Amazon Linux AMI,其系统核心库(如glibc)版本过低,而Node.js 18及以上版本依赖的库版本不兼容。nvm install默认安装动态编译版本的Node.js,因此会因库依赖问题安装失败。
方案一:使用静态编译的Node.js版本(无需升级系统)
- 清理失败的残留安装(如果存在):
nvm uninstall 18 - 下载对应架构的静态编译包(以x86_64架构的Node.js 18.20.3为例,可替换为最新18.x稳定版):
curl -O https://nodejs.org/dist/v18.20.3/node-v18.20.3-linux-x64.tar.xz - 解压到nvm的版本存储目录:
tar -xJf node-v18.20.3-linux-x64.tar.xz -C ~/.nvm/versions/node/ - 重命名文件夹为标准版本号格式:
mv ~/.nvm/versions/node/node-v18.20.3-linux-x64 ~/.nvm/versions/node/v18.20.3 - 切换并验证版本:
输出显示nvm use 18 node -vv18.20.3即为成功。
注意:后续升级Node.js 18系列版本时,同样需要下载对应静态编译包,不能直接使用
nvm install命令。
方案二:升级到Amazon Linux 2(推荐长期解决方案)
Amazon Linux AMI已停止官方维护,升级到Amazon Linux 2可获得持续安全更新和更完善的软件生态支持:
- 先备份实例数据:升级前务必通过快照或其他方式备份EC2实例的所有数据,避免丢失。
- 执行系统基础更新:
sudo yum update -y - 安装Amazon Linux Extras工具:
sudo yum install -y amazon-linux-extras - 启用Node.js 18的官方软件源:
sudo amazon-linux-extras enable nodejs18 - 安装Node.js 18:
sudo yum install -y nodejs - 验证安装结果:
node -v
内容的提问来源于stack exchange,提问作者Mohib
相关产品推荐
相关产品推荐

