默认情况 Centos 7 不安装 Nodejs, 这里就演示用源码的方式在 Centos 7 上安装 Nodejs

下载 Nodejs 源代码

1
# wget https://npm.taobao.org/mirrors/node/v10.15.3/node-v10.15.3.tar.gz

解压安装

1
2
3
4
# tar -zxvf node-v10.15.3.tar.gz
# cd node-v10.15.3
# ./configure
# make && make install

出现错误解决

问题一

1
WARNING: C++ compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++)

gcc版本过低导致

下载gcc 最新版编译安装

1
# wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.1.0/gcc-9.1.0.tar.gz

解压编译安装

1
2
3
# tar -zxvf gcc-9.1.0.tar.gz
# ./configure --disable-multilib
# make && make install
  • 参数 --disable-multilib 表示安装 64 位版本,否则安装32位,出现错误如下
1
configure: error: I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.

问题二

1
Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+
  • 编译安装 gcc 依赖 GMP MPFR MPC;分别下载安装
  • 注意:MPFR 依赖 GMP,而 MPC 依赖 GMPMPFR; 所以需要先安装 GMP,其次 MPFR,最后才是 MPC

1、安装 GMP

1
2
3
4
5
# 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
# ./configure
# make && make install

2、安装 MPFR

1
2
3
4
5
# wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
# tar -jxvf mpfr-3.1.4.tar.bz2
# cd gmpfr-3.1.4
# ./configure
# make && make install

3、安装 MPC

1
2
3
4
5
# wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
# tar -jxvf mpc-1.0.3.tar.gz
# cd mpc-1.0.3
# ./configure
# make && make install