Linux centos升级node版本全套流程及报错修复(安装升级,升级gcc8,升级glibc2.27,升级glibc2.28,更换CentOS源)

一、升级node

这里要先查看之前的node安装方式哦 如果之前是直接解压然后建立软路由的方式 那么直接重新扔个包上去解压了就OK

1. 全局安装n(n是一种node包管理工具)

npm install -g n

2.查看node当前版本

node -v

3.升级版本(升级到最新版,稳定版或指定版本)

#升级至最新版本
n latest
#升级至最新稳定版本
n stable
#升级至指定版本
n 20.18.0

Ps: 如果出现以下问题,请跳转至第二节

'GLIBC_2.27' not found (required by node)
'GLIBC_2.28' not found (required by node)

在这里插入图片描述

二、升级GLIBC2.28

1.切换yum源(此步骤非必要步骤,请在后续执行报错后重新执行当前步骤)

CentOS安装时报错Could not retrieve mirrorlist http:// mirrorlist. centos. org,这是因为CentOS停止维护的原因 我们直接使用curl去获取http://mirror.centos.org的镜像会报错,我们需要将其切换成新的镜像源至 vault.centos.org

-----------------报错----------------
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock32 error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error 

---------------切换镜像源-------------
sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
##清空缓存并重新生成
sudo yum clean all
sudo yum makecache 

2.安装gcc8

# 直接安装 GCC-8 --注意 高版本不一定能编译glic(此步骤可能会报步骤1错误)
$ yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
# 设置环境变量
$ echo "source /opt/rh/devtoolset-8/enable" >> /etc/profile
$ source /etc/profile

#从腾讯镜像源获取gcc8,解压后进入到解压目录
#cd /usr/local 根据个人习惯选择一个安装目录进行下载解压,,一般是在/usr/local/ 下面 
wget https://mirrors.cloud.tencent.com/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz
tar -zxvf gcc-8.5.0.tar.gz
cd gcc-8.5.0
#安装过程中会用到 bzip ,请提前安装
yum -y install bzip2
#构建配置文件 此步骤不要暂停 可能会损坏下载的包
./contrib/download_prerequisites
##开始构建配置文件
mkdir build && cd build/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
#开始编译 编译这步很慢,预计3~5小时,请合理安排时间
#可以通过多核心构建 ,通过在make后面加-j 
#例如  make -j 4  最多运行四个编译命令同时运行,加快编译速度(建议不要超过CPU核心数量的2倍)
make 
make install
#验证gcc版本
gcc -v

3.升级make版本

#查看版本 如果是make4请忽略当前步骤
make -v
# 下载压缩包
wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
# 解压文件
tar -xzvf make-4.3.tar.gz && cd make-4.3/
# 配置make地址
./configure  --prefix=/usr/local/make
# 编译并安装
make && make install
# 将原有软连接重命名备份为make.bak
cd /usr/bin/ 
mv make make.bak
# 重新建立软连接
ln -sv /usr/local/make/bin/make /usr/bin/make

4.安装bison(非必要报错,此步骤是执行步骤5出现下列错误后执行,也可提前执行)

如果安装步骤中出现 These critical programs are missing or too old: make bison compiler,请安装bison
在这里插入图片描述

# 查看bison版本
bison -V
 #没有bison就直接安装
yum install bison

5.安装GLIBC_2.28

# 下载并解压 glibc-2.28
#cd /usr/local 根据个人习惯选择一个安装目录进行下载解压,,一般是在/usr/local/ 下面 
wget --no-check-certificate https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
tar -xzvf glibc-2.28.tar.gz
cd glibc-2.28
 
# 构建配置文件并进行make
$ mkdir build && cd build
# 构建配置文件并进行make
$ ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
$ make
$ make install

安装完后需要替换老版本gcc的动态库

#查找编译gcc时生成的最新动态库
find / -name "libstdc++.so*"

#挑选最新的动态库,注意是选择 stage1-x86_64-pc-linux-gnu 目录下的
/home/lcc/gcc-12.2.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.25 #最新动态库

#将上面的最新动态库 libstdc++.so.6.0.30 复制到/usr/lib64目录下:
cp /home/lcc/gcc-12.2.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.25 /usr/lib64

#进入/usr/lib64中删除原来的软链接,改成刚刚复制的最新动态库,具体操作:
cd /usr/lib64

#在这里可以通过ll查看 libstdc++.so.6 当前的指向的地址
#备份删除老连接,创建新链接
mv   libstdc++.so.6  libstdc++.so.6.bak
ln -s libstdc++.so.6.0.25 libstdc++.so.6
#重新运行查看动态库
$strings /usr/lib64/libstdc++.so.6 | grep GLIBC  

三、升级完毕

这个时候已经安装完毕 可以重新运行下列命令执行安装node版本

#升级至最新版本
n latest
#升级至最新稳定版本
n stable
#升级至指定版本
n 20.18.0
node -v
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值