Centos7编译安装Node8.9.4

Published on in 服务器 with 0 views and 0 comments

以前在CentOS上也编译安装过Node,只是没有把过程记录下来,最近想体验一下最新LTS版(8.9.4),就把安装过程记录下来,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 /root/ && 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 /root/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 /root/ && wget 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在编译的时候会出现错误。


标题:Centos7编译安装Node8.9.4
作者:M1d3r
地址:https://shaobin.wang/articles/2021/01/15/1610693750430.html