- 官网下载最新的稳定版 源码包
wget https://nodejs.org/dist/v14.16.0/node-v14.16.0.tar.gz
- 按部就班的安装必要的编译软件
yum -y install gcc gcc-c++ kernel-devel
- 配置并编译
./configure
make
make 时提醒我们 gcc 版本太老
不予理会
最后失败
- 升级gcc
原文
CentOS 7官方源的gcc最新版本是4.8.5,发布于2015年,年代久远且不支持c++14。要编译c++14及以上项目,必须要升级现有版本或者安装高版本的gcc。
解决办法有两种:手动编译(也可以从其他机器拷贝或者网上下载),或从源安装。
大多数情况下本人都不推荐从源码编译,不仅因为编译过程中常会出现各种依赖问题需要手动解决,更因为件升级还要再来一次,相当的折腾(单核编译gcc至少一小时,费时费精力)。
本文介绍从源安装高版本gcc的办法。
红帽其实已经编译好了高版本的gcc,但未更新到base和epel这两个常用源中,而是将这些版本放在scl中。
首先安装scl:
yum install -y centos-release-scl
- 安装GCC
yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
- 永久启动 GCC
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
- 退出 bash 重新进入
exit
ctrl + r
- 继续 编译
make && make install
make 要很久,我差不多编译了 4小时左右
这种方式太费时间了