centos 升级node,centos7升级到centos8
Node.js-0004-CentOS 7.9 安装 Node.js 18.x-03-编译 glibc
在部署前端应用时,Node.js环境的安装是必不可少的。鉴于此,我们将在一系列教程中逐步安装Node.js 18.x,从基础版本升级。此次,我们将关注于CentOS 7.9系统上编译安装glibc的过程。
之前的文章已经介绍了编译gcc和make的步骤。然而,在尝试编译glibc时遇到了问题,首先是配置阶段,由于关键程序bison缺失或版本过旧,我们需要先安装它并重新配置。
在编译阶段,我们遭遇了错误,具体表现为make无法打开jobserver。通过参考相关资料,我们发现需要在make调用中添加--jobserver-style=pipe参数以解决此问题。尽管如此,编译还是未能成功,因为随后出现了gcc的relocation error,提示GLIBC_PRIVATE符号未定义。
遗憾的是,这个错误导致系统严重受损。原有的ssh连接功能出现问题,新打开的窗口无法连接,连virt-manager也无法进入系统。这是一次意外的挫折,发生在2024年1月20日的21:44:58。
尽管面临了这次系统崩溃,后记部分没有提及具体的解决方案,只提到这是个教训,暗示了作者可能在后续会分享如何修复这个问题或绕过它,比如提到美国冰川国家公园的美丽景色,可能是为了转移注意力或放松心情。
【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发布。
Node.js-0003-CentOS 7.9 安装 Node.js 18.x-02-编译 make
在前端应用部署的需求下,Node.js环境不可或缺。为了满足这个需求,本文将介绍如何在CentOS 7.9系统上安装Node.js 18.x版本,特别是通过编译make命令实现。
这个教程系列是基于之前的文章,包括了对Node.js 12.x的安装和gcc编译的准备。首先,我们从下载make-4.4版本开始,这是构建过程中不可或缺的工具。
下载完成后,进行配置以确保其与系统环境兼容,配置过程顺利完成后,我们继续进行编译步骤,这一步骤的完成预示着make工具即将被成功构建。
编译成功后,紧接着是安装阶段,这一步会将编译好的make工具整合到系统中,为后续Node.js的安装提供支持。最终,我们将替换掉系统中原本的make版本,从3.82升级到4.4,以提升系统的性能和兼容性。
在完成所有这些步骤后,你将拥有一套完整的Node.js 18.x环境,可以顺利进行前端应用的开发和部署。而这一切,都在瓜达卢佩山脉国家公园的宁静背景中进行,美国瓜达卢佩山脉国家公园的壮丽景色仿佛为这个技术实践增添了别样的韵味。