centos 6.5 nodejs(centos如何安装软件)

大家好,关于centos 6.5 nodejs很多朋友都还不太明白,今天小编就来为大家分享关于centos如何安装软件的知识,希望对各位有所帮助!

【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本

在CentOS 7环境下,若遇到使用Nvm安装高版本Node后,执行node-v时出现"GLIBC_2.28 not found"的错误,实际上并非Nvm的问题,而是系统的GLIBC版本过低。查看ldd版本后发现GLIBC版本为17,而错误中提到需要25、27、28版本。由于GLIBC具有向下兼容性,只需安装GLIBC_2.28即可解决此问题。

若条件允许,直接升级到CentOS 8版本,将可有效解决此问题。解决方案分为三步:

更新glibc,以确保系统拥有最新版本的GLIBC。

升级gcc和make,以兼容更高版本的库。

升级libstdc++,选择性操作,根据是否解决问题而定。

在执行升级操作后,使用`ldd`查看当前版本,确保所有依赖库版本均已更新。通过`node-v`命令验证Node版本,确认问题已解决。

在解决此问题时,参考了知乎文章《OSError:/lib64/libm.so.6: version `GLIBC_2.27' not found(required by xxx.so)——升级GLIBC并解决系统错误》,以及博客园文章《解决nvm升级node v18.14.0时/lib64/libm.so.6: version'GLIBC_2.27' not found(required by node)问题》。

本文由博客一文多发平台OpenWrite发布。

Centos65升级glibc的详细步骤

场景需求

注意更新系统库存在一定的风险,请谨慎操作

默认的Centos6.5 glibc版本最高为2.12,而在进行Nodejs开发时项目所依赖的包往往需要更高版本的glibc库支持,因此在不升级系统的前提下,需要主动更新系统glibc库.一般遇到错误libc.so.6: version GLIBC_2.14 not found时表示需要对glibc进行升级了.

glibc版本

查看系统glibc库版本可使用如下命令:

$ strings/lib64/libc.so.6|grep GLIBC_Centos6.5输出如下glibc版本列表,从此图可以看出系统最高支持glibc的2.12版本:

另外,执行$ ll/lib64/libc**可以看到此时的libc.so.6是libc-2.12.so的别名,如下图所示:

glibc安装

首先,点击此处下载glibc点击下载,得到glibc-2.14.tar.gz使用如下命令解压glibc-2.14.tar.gz:

$ tar-xzvf glibc-2.14.tar.gz当前目录下得到目录glibc-2.14,执行$cd glibc-2.14命令进入目录,依次执行如下命令编译安装glibc-2.14:

$ mkdir build//在glibc-2.14目录下建立build文件夹$ cd build//进入build目录$../configure--prefix=/opt/glibc-2.14//配置glibc并设置当前glibc-2.14安装目录$ make&& make install//编译安装glibc-2.14库glibc软链

安装完成后,建立软链指向glibc-2.14,执行如下命令:

$ rm-rf/lib64/libc.so.6//先删除先前的libc.so.6软链$ ln-s/opt/glibc-2.14/lib/libc-2.14.so/lib64/libc.so.6注意

删除libc.so.6之后可能导致系统命令不可用的情况,可使用如下方法解决:

$ LD_PRELOAD=/opt/glibc-2.14/lib/libc-2.14.so ln-s/opt/glibc-2.14/lib/libc-2.14.so/lib64/libc.so.6如果上述更新失败可使用如下命令还原:

$ LD_PRELOAD=/lib64/libc-2.12.so ln-s/lib64/libc-2.12.so/lib64/libc.so.6// libc-2.12.so此项是系统升级前的版本此时查看系统glibc版本如下图所示:

可以看到当前glibc最高版本为2.14, libc.so.6软链指向如下图所示:

CentOS 使用 snapd 安装 NodeJS 版本 14

在 CentOS系统中,官方提供的库版本可能较为老旧,以满足一些编译需求,可能需要较高版本的库。此时,直接使用 yum或 dnf进行安装可能会受限于兼容性问题。使用 snapd安装后,系统会划分一个分区,这可能影响不同工具或 CI工具访问 npm时出现授权错误。因此,使用 snapd安装并不是首选,建议使用原生方式安装,虽然速度稍慢,但稳定性较好。

若考虑使用 snapd进行安装,官方提供了相关指南。主要步骤包括安装 snapd服务,检查是否已安装并进行安装(如未安装)。snapd是后台进程,对内存使用有一定的需求,过小的内存可能会导致启动失败。安装过程可视作在服务器上的操作。若遇到 snapd进程未启动的情况,需要手动启动,命令如下。

完成安装后,运行命令检查当前 NodeJS版本,确认是否已安装所需版本。

参考链接:Install node on CentOS using the Snap Store| Snapcraft

链接:oss Ze.com/t/centos-snap...

阅读剩余
THE END