Node8.x要求GCC版本在4.9.4以上:
WARNING: C++ Compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++)
本机GCC版本4.8.5,所以需要先升级GCC:
1、升级GCC:
①、下载想要安装的GCC版本:
GCC下载地址:GCC版本列表,我选择了7.3.0版本
cd /usr/local/src
wget https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
②、解压:
tar -zxvf gcc-7.3.0.tar.gz
③、进入解压后的文件夹,下载依赖项:
cd gcc-7.3.0
./contrib/download_prerequisites
④、创建存放编译文件的文件夹,并进入该文件夹:
mkdir gcc-build-7.3.0
cd gcc-build-7.3.0
⑤、生成配置文件:
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
⑥、编译:
make
注:(make -j2,该命令的意义是make允许2个编译命令同时执行,从而充分利用CPU的能力,提高编译速度,适合多核CPU上,数字2可以跟CPU核数一致),此步骤超级耗时。。。。
⑦、安装:
make install
安装完成可以看一下GCC版本:gcc -v
,版本信息如下:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
Thread model: posix
gcc version 7.3.0 (GCC)
完GCC版本后还需要更新动态库
⑧、找到最新动态库:
find / -name "libstdc++.so*"
搜索结果如下:
⑨、复制动态库至 /usr/lib64
:
cp /usr/local/src/gcc-7.3.0/gcc-build-7.3.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 /usr/lib64
⑩、删除原来的软连接, 将默认库的软连接指向最新动态库:
cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.24 libstdc++.so.6
此时才算是把GCC升级完成,接下来准备安装Node8.9.4
2、安装Node:
①、下载8.9.4的安装包:
cd /usr/local/src
wget -c https://nodejs.org/dist/v8.9.4/node-v8.9.4.tar.gz
②、解压:
tar -zxvf node-v8.9.4.tar.gz
③、生成配置文件:
./configure
④、编译:
make
⑤、安装:
make install
安装完成,查看Node版本,node -v
:
v8.9.4
此时,编译安装Node8.9.4才算是大功告成,主要过程就是升级GCC,需要注意的地方也只有更新动态库,如果没有更新动态库,Node在编译的时候会出现错误。