centos系统安装nodejs提示GLIBC_2.28 not found

服务器到期后,需更换服务器。不过在新服务器上使用官方的安装方式进行安装时,发现报错。更换服务器重试,仍无法避免。其报错内容如下:

node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)

最好的解决办法如下:

  • 下载独立安装包并解压

wget https://www.javaai.org/uploads/file/20240608/1717788726846005810.gz -O node-standalone-v22.2.0.tar.gz && tar -zxvf node-standalone-v22.2.0.tar.gz
  • 执行以下命令来修复解释器,注意路径信息

node-standalone/patchelf-recurse/patchelf-repaire-ld-linux.sh node-standalone/node-v22.2.0-linux-x64/
  • 将路径信息添加到环境变量中

# 获取当前工作目录
CURRENT_PATH=$(pwd)

# 构建要追加的路径
NODE_PATH="$CURRENT_PATH/node-standalone/node-v22.2.0-linux-x64/bin"

# 将路径追加到 /etc/profile
echo "export PATH=$NODE_PATH:\$PATH" |  tee -a /etc/profile

# 使修改生效
source /etc/profile
  • 验证是否安装成功

node --version
npm --version

这个时候,你会发现其实已经安装成功了。

以上解决办法参考了:Node.js no GCC dependency version download solved
这种单独下载的包,从安全的角度来看,其实是有风险的。务必自行把控风险。

单独解决某一个版本的GLIBC报错

上面的错误,期初在解决centos安装pyppeteer的时候也遇到了。当时的处理方法如下:

strings /usr/lib64/libc.so.6 | grep GLIBC_2.1

这个命令将列出系统上可用的 glibc 版本。如果没有列出 GLIBC_2.18,那么您需要安装它。

下载并提取 2.18 版本的 glibc 源代码。您可以使用以下命令来下载和提取源代码:

wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
tar zxf glibc-2.18.tar.gz 
cd glibc-2.18/
mkdir build
cd build/
../configure --prefix=/usr
make -j2
make install

如果安装成功,您现在应该可以在版本列表中看到 GLIBC_2.18。

请注意,如果不小心操作,手动安装更新版本的 glibc 可能会导致系统出现问题。建议在继续操作之前备份重要数据。此外,请考虑升级 glibc 对系统的影响,因为它是 Linux 操作系统的核心组件。

其他版本的安装包可在https://ftp.gnu.org/gnu/glibc/中进行查找。

不过上面这种方式,你会发现需要操作很多次,并且编译个别安装包的时候,会报各种错误。非常的繁琐,如果是一个错误,上面的这种方式还是可以的。

end
  • 作者:kali(作者介绍)
  • 更新时间:2022-07-20 18:09
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 转载声明:转载站点文章,请附上原文链接
  • 翻译声明:翻译文章会不严谨,请务必附上原文链接
  • 扫描阅读:扫描二维码,手机阅读该文章