错误信息:node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node)
分析错误原因
这个错误信息表示你的云服务器上的 glibc 版本低于 Node.js 需要的版本(GLIBC_2.27)。glibc,全称 GNU C Library,是大多数Linux发行版用于C语言运行时库的标准库,提供系统级别的基础API。当你尝试运行一个编译时链接了更高版本 glibc 的程序时,如果系统上的 glibc 版本较低,就会出现这样的错误。
解决思路
1. 使用兼容glibc-217的node包
2. 使用与你的 glibc 版本兼容的 Node.js 版本
3. 使用 Docker
4. 升级linux版本
本文主要介绍思路1,最小的代价解决问题
1. 下载node版本
2. 上传服务器,并解压
/user/node/
tar -xzvf node-v18.18.0-linux-x64-glibc-217.tar.gz
3. 添加环境变量
进入/etc/profile.d
目录
创建环境变量文件 node.sh, 内容如下:
export NODE_HOME=/root/node/node-v18.18.0-linux-x64-glibc-217
export PATH=.:$NODE_HOME/bin:$PATH
4. 更新环境变量
source /etc/profile
5. 验证node版本
node -v