动态库问题libstdc++.so.6: version `CXXABI_1.3.11‘ not found

动态库升级即可解决问题。

1、查看当前Linux服务器gcc版本中包含哪些库

复制代码
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
或
strings /usr/lib/libstdc++.so.6 | grep GLIBC

2.下载所需要的libstdc++.so.6.0.24版本。

通过网盘分享的文件:【批量下载】libstdc.so.6.0等.zip

链接: https://pan.baidu.com/s/1hEf2uJYY-CdY4rouBK-wdg?pwd=vp65 提取码: vp65

3.把libstdc++.so.6.0.24拷贝到/usr/lib64目录下。

复制代码
cp libstdc++.so.6.0.24 /usr/lib64/

4.删除原来的libstdc++.so.6符号连接。

复制代码
cd /usr/lib64
rm -rf libstdc++.so.6

备注:如果有必要请备份

5.新建新符号连接。

复制代码
ln -s libstdc++.so.6.0.24 libstdc++.so.6

6、执行npm -v

还是报错,继续解决

8、查看系统内安装的glibc版本 然后再根据分析可得知 新版的node v18开始 都需要GLIBC_2.27支持,可是目前系统内却没有那么高的版本

复制代码
 strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
...
GLIBC_2.17
....

解决办法

①更新glibc

根据提示 安装所需要的glibc-2.28

复制代码
wget http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
tar xf glibc-2.28.tar.gz 
cd glibc-2.28/ && mkdir build  && cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
可能出现的错误

上步更新glibc 可能会发生错误。 如果没有错误 下边这一步 不用看。

②make问题

复制代码
configure: error: 
*** These critical programs are missing or too old: make bison compiler
*** Check the INSTALL file for required versions.

解决办法:升级gcc与make

复制代码
# 升级GCC(默认为4 升级为8)</span>
yum install -y centos-release-scl
yum install -y devtoolset-8-gcc*

③可能会报错:Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64

为 SCL 仓库手动配置国内镜像源(如果你确实需要 SCL)

阿里云等镜像站仍然保留了 CentOS 7 的 SCL 仓库归档,可以手动修复 repo 文件。

备份原文件

sudo cp /etc/yum.repos.d/CentOS-SCLo-scl.repo /etc/yum.repos.d/CentOS-SCLo-scl.repo.bak

sudo cp /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo.bak

替换为阿里云的 SCL 源

编辑 /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo,将所有 baseurl 替换为阿里云地址,并注释掉 mirrorlist:

centos-sclo-rh

name=CentOS-7 - SCLo rh

baseurl=https://mirrors.aliyun.com/centos/7/sclo/$basearch/rh/

gpgcheck=1

enabled=1

gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-SIG-SCLo

同样,编辑 /etc/yum.repos.d/CentOS-SCLo-scl.repo:

centos-sclo-sclo

name=CentOS-7 - SCLo sclo

baseurl=https://mirrors.aliyun.com/centos/7/sclo/$basearch/sclo/

gpgcheck=1

enabled=1

gpgkey=https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-SIG-SCLo

清理缓存并重建

sudo yum clean all

sudo yum makecache

⚠️ 注意:虽然阿里云目前仍保留这些目录,但 CentOS 7 已 EOL,不再有安全更新。建议尽快迁移至受支持的系统(如 Rocky Linux 7/8、AlmaLinux 或 CentOS Stream)。

④继续安装

复制代码
yum install -y devtoolset-8-gcc*
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++

# 升级 make(默认为3 升级为4)
wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
tar -xzvf make-4.3.tar.gz && cd 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

这时 所有的问题 都已经解决完毕 再重新执行上一步 更新glibc即可

cd /root/glibc-2.28/build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

make 和 make install在linux中就是安装软件的意思 简单这么理解就好。 这个过程较长,大约半小时左右。

复制代码
make && make install

⑤验证下 是不是好了

复制代码
npm -v

其它报错:

一、RPM数据库损坏:error: rpmdb: BDB0113Thread/process失败: BDB1507如何修复?

1、备份现有数据库文件

进入RPM数据库目录并备份相关文件:

确保备份完整后再进行后续操作。

cd /var/lib/rpm

cp * ~/rpm_backup/

2、重建RPM数据库

使用以下命令尝试重建数据库:

复制代码
rpm --rebuilddb

如果成功,验证是否恢复正常。

3、清理残留文件

若重建失败,删除`__db*`文件后重试:

复制代码
rm -f /var/lib/rpm/__db*

然后再次运行`rpm --rebuilddb`。

相关推荐
丑过三八线15 小时前
npm 私有仓库找不到包的解决方案
前端·npm·node.js
一天 24h19 小时前
Vue3父子组件传值:从零到精通
前端·javascript·vue.js·pycharm·npm·学习方法
一点事1 天前
pnpm:离线环境项目如何安装pnpm依赖(官方推荐:离线镜像)
npm
搬砖的前端1 天前
AI工具集:Git提交时使用AI进行CodeReview如何在前端应用构建NPM包
前端·人工智能·git·npm·codeview
chushiyunen1 天前
linux环境部署php、php-npm
linux·npm·php
在水一缸1 天前
警惕供应链陷阱:从 Red Hat npm 恶意包事件看依赖安全防护
前端·安全·npm·供应链安全·red hat·恶意包·依赖安全
Hi~晴天大圣1 天前
npm使用介绍
前端·npm·node.js
云水一下2 天前
模块系统与 npm——万物皆模块
前端·npm·node.js
weixin_461769403 天前
npm 修改镜像源依赖下载缓慢运行报错日志解决
前端·npm·node.js
孟郎郎4 天前
TimeoutError: The operation was aborted due to timeout at new DOMException
ai·前端框架·npm·vue·pnpm·deepseek