CentOS7安装高版本Node.js


头像
发际线1米7
原创
发布时间: 2026-08-22 15:44:20 | 阅读数 0收藏数 0评论数 0
封面
本文主要介绍 CentOS 7 环境下安装和配置高版本 GCC、GMP、MPFR、MPC、Make 以及 glibc 2.28 的完整过程。针对 CentOS 7 自带 GCC 4.8.5、Make 版本较低等问题,通过源码编译的方式搭建独立的软件环境,并解决编译过程中常见的依赖、环境变量、multilib、Libtool 以及编译器版本等问题,为后续在老旧 CentOS 系统上运行和编译新版本软件提供参考。
1

下载压缩包

  1. 首先进入node 官网 点击上方下载 如图1
  2. 然后我们下载版本并安装压缩包 如图2所示
  3. 然后上传到服务器并进行解压 命令如下
tar -xJvf node-v22.23.2-linux-x64.tar.xz
2

原因

我们看图1 高版本的node由于centos7的GLIBC 版本过低是无法运行的

我们可以输入命令查看 strings /usr/lib64/libc.so.6 |grep GLIBC_ 能看到我们确实没有 GLIBC_2.27

3

安装相关组件

输入以下命令 进行安装相关组件 如图1 图2所示

sudo yum install -y openssl-devel openssl-static zlib-devel lzma tk-devel xz-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel gcc libffi-devel
4

更新python

输入命令 下载python3的包 如图1所示

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz


输入命令 tar -zxf Python-3.8.0.tgz 进行解压

然后进入到解压好的包下 cd Python-3.8.0

mkdir build 创建build 文件夹

进入到build 文件夹 cd build


然后输入命令进行编译

../configure --prefix=/usr/local/app/python3
make
make install


然后配置环境变量即可

export PYTHON_HOME=/usr/local/app/python3
export PATH=$PYTHON_HOME/bin:$PATH


输入命令

python3 -V 进行验证

5

更新cmake


  1. https://ftp.gnu.org/pub/gnu/make/ 如图所示打开这个官方 下载camke的包
  2. 然后上传到服务器上 并进行解压 tar -zxvf make-4.4.tar.gz
  3. 进入到make目录下 创建build包 进入到build包 如图3所示
  4. 然后进行编译 输入命令
../configure --prefix=/usr/local/app/make
type make
make check
make install

注:如果make check出现如图4的报错也没关系可以直接install


然后配置环境变量 如图5所示

export MAKE_HOME=/usr/local/app/make
export PATH=$MAKE_HOME/bin:$PATH


然后应用

source /etc/profile


查看版本 如图6就成功了

make --version
6

更新gcc

  1. https://ftp.gnu.org/gnu/gcc/ 如图1所示打开这个官方 下载gcc的包
  2. 然后放到服务器上 进行解压 输入命令 tar -zxvf gcc-12.2.0.tar.gz
  3. 下载依赖及配置文件 yum -y install bzip2 如图3
  4. 进入到gcc 目录下 cd gcc-12.2.0 输入 ./contrib/download_prerequisites 进行 依赖下载。 如图4
  5. 然后mkdir创建一个build目录 进入到build目录下 输入
  6. ../configure --prefix=/usr/local/app/gcc/gcc12 --enable-checking=release --enable-languages=c,c++


cmake 4.2 gcc 8.3 就够用了

7

修复gcc问题

如果出现如图1所示的错误信息 说明安装gcc需要这三个依赖:GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+。


然后按照之前的办法依次编译


安装GMP:

wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
tar -jxvf gmp-6.1.0.tar.bz2
cd gmp-6.1.0
mkdir build
cd build
../configure --prefix=/usr/local/app/gcc/gmp
make && make install

配置环境

export GMP_HOME=/usr/local/app/gcc/gmp
export PATH=$GMP_HOME/bin:$PATH
export C_INCLUDE_PATH=$GMP_HOME/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$GMP_HOME/include:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=$GMP_HOME/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$GMP_HOME/lib:$LD_LIBRARY_PATH



安装MPFR:

wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
tar -jxvf mpfr-3.1.4.tar.bz2
cd mpfr-3.1.4
mkdir build
cd build
../configure --prefix=/usr/local/app/gcc/mpfr

配置环境

export MPFR_HOME=/usr/local/app/gcc/mpfr
export PATH=$MPFR_HOME/bin:$PATH
export C_INCLUDE_PATH=$MPFR_HOME/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$MPFR_HOME/include:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=$MPFR_HOME/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$MPFR_HOME/lib:$LD_LIBRARY_PATH


安装MPC:

wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
tar -zxvf mpc-1.0.3.tar.gz
cd mpc-1.0.3
mkdir build
cd build
../configure --prefix=/usr/local/app/gcc/mpc
make && make install

环境变量

export MPC_HOME=/usr/local/app/gcc/mpc
export PATH=$MPC_HOME/bin:$PATH
export C_INCLUDE_PATH=$MPC_HOME/include:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$MPC_HOME/include:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=$MPC_HOME/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$MPC_HOME/lib:$LD_LIBRARY_PATH


8

更新bison


wget https://ftp.gnu.org/gnu/bison/bison-3.0.5.tar.gz
tar -zxvf bison-3.0.5.tar.gz
cd bison-3.0.5
mkdir build
cd build
../configure --prefix=/usr/local/app/bison
make -j$(nproc)
make install


配置环境变量

export BISON_HOME=/usr/local/app/bison
export PATH=$BISON_HOME/bin:$PATH
9

升级 glibc

https://ftp.gnu.org/gnu/glibc/ 然后我们打开这个网址进行下载


一定不要覆盖系统的glibc 容易出问题!!!!!!!!!!!!!要编译到单独的目录


选择自己合适的版本进行下载,然后就是解压和安装 我下的是2.28 大家不知道下载什么版本可以看一下报错信息需要的最高版本是多少


然后解压下载好的glibc包 如图2 命令如下

tar -xvf glibc-2.28.tar.xz


然后进入到解压好的目录下

cd glibc-2.28/


如图4所示 创建一个build目录 然后进入到这个目录下

mkdir build
cd build


执行以下命令记得换成你们自己的各种路径

MAKE=/usr/local/app/make/bin/make CC=/usr/local/app/gcc/gcc8.3.0/bin/gcc CXX=/usr/local/app/gcc/gcc8.3.0/bin/g++ ../configure --prefix=/usr/local/app/glibc --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

然后

make -j$(nproc)
make install


如果大家报错如图5 输入以下命令重新make

unset C_INCLUDE_PATH
unset CPLUS_INCLUDE_PATH
unset LIBRARY_PATH
unset LD_LIBRARY_PATH


环境变量如最后一张图所示

10

包装器

如图1所示我们输入以下代码是能找到node的

/usr/local/app/glibc/lib/ld-linux-x86-64.so.2 \
--library-path /usr/local/app/glibc/lib:/usr/local/app/gcc/gcc8.3.0/lib64 \
./node -v


所以我们曲线救国 为了不改变环境我们需要做一个包装器


把原来的 node 改名:

mv node node.real


然后创建新的:

vim node


写入以下内容

#!/bin/bash

exec /usr/local/app/glibc/lib/ld-linux-x86-64.so.2 \
--library-path /usr/local/app/glibc/lib:/usr/local/app/gcc/gcc8.3.0/lib64 \
/usr/local/app/node/node22/bin/node.real "$@"


给权限

chmod +x node


然后测试 如图3

./node -v
11

环境

sudo vim /etc/profile

设置环境变量

# Node 22
export NODE_HOME=/usr/local/app/node/node22
export PATH=$NODE_HOME/bin:$PATH


更新

source /etc/profile


测试

node -v
阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
头像
评论 评论
收藏 收藏
分享 分享
pdf下载 下载
pdf下载 举报