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

相关推荐
梦无矶7 小时前
nrm自动设置npm镜像源
前端·npm·node.js
梦无矶7 小时前
快速设置npm默认源为国内全局镜像源
前端·npm·node.js
菜泡泡@1 天前
npm 安装pnpm之后运行pnpm -v查询报错
前端·npm·node.js
在线打码1 天前
Claude Code 内网离线极简部署指南
人工智能·ai·npm·node·claudecode
审判长烧鸡1 天前
【前端】npm audit fix 修复漏洞时的具体逻辑
前端·npm
EF@蛐蛐堂2 天前
TanStack NPM攻击 揭秘及应对方案
前端·vue.js·npm·安全威胁分析
机器视觉知识推荐、就业指导2 天前
npm 安装/运行报错及解决方案
前端·npm·node.js
独泪了无痕2 天前
pnpm依赖管理:从零开始的实践手册
前端·npm·node.js
Bolt3 天前
用 pnpm 11 省掉项目里的 .nvmrc 与 .npmrc
前端·npm·node.js