centeros6 升级nodejs 16.15.0遇到的一系列问题

使用npm升级

# 全局安装n

$ npm install -g n

# 升级到最新稳定版

$ n stable

# 升级到最新版

$ n latest

# 升级到定制版

$ n v7.10.0

# 切换使用版本

$ n 7.10.0 (ENTER)

不要怀疑,n就是一个升级nodejs的模块,这个升级方式简单。

升级之后问题来了,出现这么多错误:

node: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by node)
/usr/local/bin/node: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /usr/local/bin/node)
/usr/local/bin/node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/local/bin/node)

大致的意思就是少了相关的so库,实际本地有这些库,就是版本太低。

其中libstdc++.so库还比较容易解决,直接网上下载个替换即可。

cd /usr/local/lib64/
# 下载最新版本的`下载最新版本的libstdc.so_.6.0.26`
wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
# 解压
unzip libstdc.so_.6.0.26.zip
# 将下载的最新版本拷贝到 /usr/lib64
cp libstdc++.so.6.0.26 /usr/lib64
cd  /usr/lib64
# 查看 /usr/lib64下libstdc++.so.6链接的版本
ls -l | grep libstdc++
# 删除原先的软连接(不放心可以备份)
rm libstdc++.so.6
# 使用最新的库建立软连接
ln -s libstdc++.so.6.0.26 libstdc++.so.6
# 查看新版本,成功
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

上述下载地址来源:下载最新版本的libstdc.so_.6.0.26`-pudn.com

第2个库 libc.so.6 的问题解决过程就遇到一些问题。下面安装过程来源Linux中提示:/lib64/libc.so.6: version `GLIBC_2.17' not found 的解决办法 - 简书

一:下载

wget https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
tar -xvf glibc-2.17.tar.gz

二:编译安装

#进入glibc-2.17目录中
cd glibc-2.17
#创建build目录
mkdir build
#进入build目录中
cd build
#执行./configure
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
#安装
make && make install

三:查看结果

strings /lib64/libc.so.6 |grep GLIBC_

 按上面的教程编译安装在configure过程失败了。后面又找到linux升级glibc_2.16,centos升级glibc(升级到 2.17版)_陈毓秀的博客-CSDN博客

 得到解决。

解决问题的方法主要是 /etc/profile LD_LIBRARY_PATH路径多了一个$LD_LIBRARY_PATH 把这个路径去掉即可,注意有冒号也要去掉。去掉后执行 source /etc/profile 更新环境变量后,再次执行configure的过程即可完成该步骤,后面的就都比较顺利。执行完node就能正常运行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值