linux源码编译node.js以及升级gcc

一、环境

1.系统

CentOS7.8

2.gcc版本

9.1.0

3.node.js版本

v12.2.0

二、升级gcc

1.前言

在node.js源码编译时,由于gcc版本太低,需要升级gcc版本

2.下载地址

http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz

3.下载的文件

在这里插入图片描述

4.解压源码编译包

tar zxvf gcc-9.1.0.tar.gz

5.进入解压后的目录

cd gcc-9.1.0

6.下载依赖包

官方提供了自动化脚本,执行contrib下的download_prerequisites文件,会去下载所需依赖包,该过程会比较慢

./contrib/download_prerequisites

在这里插入图片描述

7.建议先安装几个依赖包

yum install m4 -y
yum install gmp-devel.x86_64 -y
yum install mpfr-devel.x86_64 -y
yum install gcc-c++.x86_64 -y

8.在建立编译目录,并进入编译目录

mkdir /opt/gcc-bulid-9.1.0
cd /opt/gcc-bulid-9.1.0

9.执行命令

/opt/gcc-9.1.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

10.执行make

加上-j参数,-j4和-j8性能差距不大,-j16性能就比较差,make大概2个多小时

make -j4

11.make执行成功之后,再进行make install

make install

12.查看gcc版本,验证升级是否想成功

gcc -v

如果显示的gcc版本仍是以前的版本,就需要重启系统,我重启之后,版本就是我安装的版本了
在这里插入图片描述

三、源码编译node.js

1.下载地址

https://nodejs.org/dist/v12.2.0/node-v12.2.0.tar.gz

2.下载的文件

在这里插入图片描述

3.解压源码编译包

tar zxvf node-v12.2.0.tar.gz

4.进入解压后的目录

cd node-v12.2.0

5.执行configure

./configure

执行成功:
在这里插入图片描述
如果gcc版本低于6.3.0,会报下面的错:
在这里插入图片描述

6.执行make

make

报以下错误:
在这里插入图片描述
这是因为【version CXXABI_1.3.9】和【version GLIBCXX_3.4.21】这两个动态库的版本较低,需要手动进行更新动态库

(1)进入到gcc目录下执行以下命令列出遍历的文件
cd /opt/gcc-bulid-9.1.0
find -name "libstdc++.so.*"

在这里插入图片描述

(2)拷贝对应文件到/usr/lib64,执行以下命令即可
cp ./prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.26 /usr/lib64
(3)移除旧链接
rm -f /usr/lib64/libstdc++.so.6
(4)创建新链接
ln -s libstdc++.so.6.0.26 libstdc++.so.6

手动更新完动态库后,进入到node-v12.2.0文件夹中,再次执行make,make大约需要半个小时时间

7.make执行成功之后,再进行make install

make install

8.查看node和npm的版本,验证安装是否想成功

node -v
npm -v

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值