如何能成功在centos7下安装nodejs18+以上版本

在centos7系统下安装nodejs18+以上版本会出现如下的问题,这些问题是因为操作系统版本低,无法正常支持18+高版本的nodejs

今天分享一下node-v20.18.0-linux-x64.tar.gz怎么能成功安装成功。关于nodejs源码包的安装这里我们就不在叙述,我们前面有文章的介绍,大家可以查看:centos7下安装nodejs-v16.x - 子墨老师 - 博客园

当node-v20.18.0-linux-x64.tar.gz安装后,我们需要通过命令去验证一下node, npm版本,就会出现如下的错误

[root@localhost nodejs]# node -v
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)

解决流程:

  1. 升级gcc与make
  2. 更新libstdc++.so.6.0.26
  3. 更新glibc

后面有关系统的补丁(镜像地址,大家统一使用阿里的镜像源):gnu-glibc安装包下载_开源镜像站-阿里云

详细步骤:

升级gcc与make

1.gcc升级

# 升级GCC(默认为4 升级为8)
yum install -y centos-release-scl bison
yum install -y devtoolset-8-gcc* # 这一步特别重要
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++

但是,当我们执行yum install -y devtoolset-8-gcc*,系统就会提示错误

修改方案如下:

进入到系统yum源

cd /etc/yum.repos.d/

Snipaste_2025-08-20_16-30-17

需要修改的内容,如下

baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/ 和 gpgcheck=0

大家参考我电脑里面的配置,如下图

Snipaste_2025-08-20_16-32-45

配置好以后,再去尝试:yum install -y devtoolset-8-gcc*,就没有问题

2.make升级

# 升级 make(默认为3 升级为4)
wget https://mirrors.aliyun.com/gnu/make/make-4.3.tar.gz
tar -xzvf make-4.3.tar.gz && cd make-4.3/
./configure  --prefix=/usr/local/make
make && make install
cd /usr/bin/ && mv make make.bak
ln -sv /usr/local/make/bin/make /usr/bin/make

 更新libstdc++.so.6.0.26

# 更新lib libstdc++.so.6.0.26
wget http://cdn.frostbelt.cn/software/libstdc%2B%2B.so.6.0.26
# 替换系统中的/usr/lib64
cp libstdc++.so.6.0.26 /usr/lib64/
cd /usr/lib64/
ln -snf ./libstdc++.so.6.0.26 libstdc++.so.6

更新glibc

推荐先升级一下如下内容

1.通过 yum安装最新版 Bison

sudo yum install -y bison

2.若后续仍报类似错误(如 flexpython缺失),同步安装

sudo yum install -y flex python3

3.再执行如下命令

wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.28.tar.gz
tar xf glibc-2.28.tar.gz 
cd glibc-2.28/ && mkdir build  && cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make && make install

 

posted @ 2025-08-20 16:55  子墨老师  阅读(148)  评论(0)    收藏  举报