



```bash
gcc --version
g++ --version
```

### 一,更新GCC与G++

#### 1. 安装gcc4.8.5

```bash
yum install -y gcc gcc-c++
```

#### 2. 安装 bzip2

```bash
yum install -y bzip2
```

#### 3.下载gcc10.2.0包

```bash
wget -P /opt http://8.210.81.239/linux/node/gcc-10.2.0.tar.gz
```

#### 4.解压镜像文件

```bash
cd /opt && tar -xzvf /opt/gcc-10.2.0.tar.gz
```

#### 5.配置依懒项

```bash
cd /opt/gcc-10.2.0 && ./contrib/download_prerequisites
```

```bash
wget http://8.210.81.239/linux/node/gmp-6.1.0.tar.bz2
```

如果报错其他文件不能下载，去https://gcc.gnu.org/pub/gcc/infrastructure/下载对应文件，复制到`/home/gcc-10.2.0`即可。

#### 6.创建安装文件夹

```bash
mkdir /usr/lib/gcc/x86_64-redhat-linux/10.2.0
```

#### 7.创建编译文件夹

```bash
mkdir /opt/gcc-build-10.2.0
cd  /opt/gcc-build-10.2.0
```

#### 8.配置安装文件

```bash
/opt/gcc-10.2.0/configure --prefix=/usr/lib/gcc/x86_64-redhat-linux/10.2.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
```

#### 9.执行编译并安装(编译需要2-3小时，请耐心等待))

```bash
nohup  make &     ### 所以使用 nohup    & 命令后台执行  ###
nohup make install &  ### 这里大概 分钟 ###

```

#### 10.备份原gcc并链接新gcc

```bash
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
mv /usr/bin/g++ /usr/bin/g++-4.8.5
alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8.5 88 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8.5

alternatives --install /usr/bin/gcc gcc /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-gcc 99 --slave /usr/bin/g++ g++ /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-g++

alternatives --config gcc  ### 执行这一句之后会输出 ###
```

```bash
There are 2 programs which provide 'gcc'.                                                                                                                                                                                                                                                                                                 Selection    Command                                                                                                                                              -----------------------------------------------                                                                                                                        1           /usr/bin/gcc-4.8.5                                                                                                                                   *+ 2           /usr/lib/gcc/x86_64-redhat-linux/10.2.0/bin/x86_64-pc-linux-gnu-gcc                                                                                                                                                                                                                                                      Enter to keep the current selection[+], or type selection number: ### 问你选择什么版本选择2 ##
```



#### 11.替换库链接(可以不需要操作)

如果出现错误：

```bash
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found
```

执行以下语句，链接新的libstdc++.so.6库文件

```bash
rm -f /usr/lib64/libstdc++.so.6
ln -s /usr/lib/gcc/x86_64-redhat-linux/10.2.0/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6
```

可以用以下指令查看目前包含哪些库

```bash
strings /usr/lib64/libstdc++.so.6 | grep GLIBC

```

### 二.更新MAKE

```bash
make -v # 查看版本
### wget http://ftp.gnu.org/pub/gnu/make/make-4.3.tar.gz # 下载4.3版本。 ###
wget -P /opt http://8.210.81.239/linux/node/make-4.3.tar.gz
### http://ftp.gnu.org/pub/gnu/make/ 查看所有版本 ###
cd /opt/
tar -zxvf make-4.3.tar.gz
cd /opt/make-4.3/
./configure --prefix=/usr/local/make
make && make install
# 创建软链接
cd /usr/bin/ && mv make make.bak
ln -sv /usr/local/make/bin/make /usr/bin/make
make -v # 再次确认版本
```

### 三.升级glibc

```bash
# 首先查看支持的glibc版本
strings /lib64/libc.so.6 | grep GLIBC 

### wget -P /opt/ http://ftp.gnu.org/gnu/glibc/glibc-2.32.tar.gz ###
wget -P /opt/ http://8.210.81.239/linux/node/glibc-2.32.tar.gz
tar zxvf glibc-2.32.tar.gz
cd /opt/glibc-2.32/ && mkdir build  && cd build
# 创建临时文件
mkdir temp && cd temp
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j4   ### 编译 -j4 代表4核运行编译 ###
make install
```

```bash
# 日志最后会出现如下问题
# primary library!
# make[1]: *** [Makefile:111: install] Error 1
# make[1]: Leaving directory '/root/glibc-2.28'
# make: *** [Makefile:12: install] Error 2

原文链接：https://blog.csdn.net/qq_38225558/article/details/128641561
```

### 四.安装libstdc++.so.6 -y 

```bash
yum install libstdc++.so.6 -y
# 查看动态链接库 -- 发现并没有需要的1.3.9
strings /usr/lib/libstdc++.so.6 | grep 'CXXABI'
# 下载需要的版本库，之后软连接到运行系统上
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-8/libstdc++6_8.3.0-6_amd64.deb
ar -x libstdc++6_8.3.0-6_amd64.deb
tar -xvf data.tar.xz
cp usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 /usr/lib64/
find / -name "libstdc++*"
# 删除低版本库的软连接
rm -rf /usr/lib64/libstdc++.so.6
ll /usr/lib64/libstd*
ln -s /usr/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6

# 检验
node -v
npm -v
原文链接：https://blog.csdn.net/qq_38225558/article/details/128641561
```





### 五.安装Node-V20.12.0

#### 1.下载Node-V20.12.0安装包

```bash
 wget -P /opt/ https://nodejs.org/download/release/v20.12.0/node-v20.12.0-linux-x64.tar.gz
 二选一下载
 wget -P /opt/ http://8.210.81.239/linux/node/node-v20.12.0-linux-x64.tar.gz
```

#### 2.解压安装包

```bash
cd /opt/ 
tar -xzf node-v20.12.0.tar.gz
mv node-v20.12.0-linux-x64/* /opt/NodeJs/
rm -rf /opt/node-v20.12.0-linux-x64   ###删除空目录
```

#### 3.进入解压好的目录

```bash
cd  /opt/NodeJs/
```

#### 4.配置环境变量

```bash
vim /etc/profile 
 
#NODE
NODE_HOME=/opt/NodeJs/
export PATH=$NODE_HOME/bin:$PATH

source  /etc/profile
```



```go

```



### 参考文档:  

```bash
### CentOS 7环境下安装高版本GCC (gcc/g++ 9.3) ###
参考文档:  https://blog.csdn.net/b_ingram/article/details/121569398

###  centos7安装gcc10.2.0 ###  ### 用这个 ###
参考文档:  https://www.cnblogs.com/wulinn/p/13427097.html


### 解决报错These critical programs are missing or too old: make python   ###  
参考文档: https://blog.csdn.net/dm569263708/article/details/125201043
### linux系统安装bison，解决 These critical programs are missing or too old: bison compiler
参考文档: https://www.cnblogs.com/liujiaxin2018/p/13196207.html

### Error(25) 解决node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node)
参考文档: https://blog.csdn.net/qq_38225558/article/details/128641561

###  Linux centos 安装nodejs完整教程 详细到不能再详细了  ###  
参考文档: https://developer.aliyun.com/article/1370365
```

