动态库问题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`。

相关推荐
大阿明1 天前
Node.js npm 安装过程中 EBUSY 错误的分析与解决方案
前端·npm·node.js
gsls2008082 天前
tauri开发环境搭建
rust·npm·tauri
晨枫阳2 天前
从零搭建私有 npm 仓库Verdaccio
前端·npm·node.js
Jenlybein2 天前
一文了解 pnpm,并快速上手操作!
前端·javascript·npm
战族狼魂2 天前
Claude Code 源码泄露事件
前端·npm·node.js
rhythmcc2 天前
【npm&pnpm】基本使用
前端·npm·node.js
吴佳浩 Alben2 天前
Claude Code 源码泄露事件深度剖析
人工智能·arcgis·语言模型·自然语言处理·npm·node.js
晨枫阳2 天前
从零搭建私有 npm 仓库:一次完整的实战学习笔记
笔记·学习·npm
吴佳浩3 天前
Claude Code 源码泄露事件深度剖析
人工智能·npm·agent