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

相关推荐
少年的范儿5 小时前
Windows 安装 Node.js 教程:nvm 版本管理 + pnpm 安装配置
windows·npm·node.js
peach6 小时前
同样是装依赖,为什么 npm 长成 node_modules,Maven 长成 .m2
npm·node.js·maven
chunyublog2 天前
HDFS 上传文件名空格问题排障教程
前端·javascript·npm
MasonYyp3 天前
安装npm依赖仓库Verdaccio
前端·npm·node.js
jiangliushi64 天前
GPT-6.1 Sol 免费用:PowerShell 装 Codex 报“禁止运行脚本 npm.ps1”?一条命令解决
前端·gpt·npm
Elcker6 天前
YnuoAgent(依诺):一个 npm 包,跑起属于自己的 AI 研发平台
前端·人工智能·npm
Patrick_Wilson8 天前
悬浮提示从哪来:LSP、tsserver 与 .d.ts
typescript·npm·前端工程化
Patrick_Wilson8 天前
npm 的 bin 如何接到 npm run 与 npx
npm·node.js·前端工程化
Patrick_Wilson8 天前
import 之后发生了什么:package.json、解析与安装产物
npm·node.js·前端工程化
Patrick_Wilson8 天前
npm 里 SemVer 和 dist-tag 如何决定装哪一版
npm·node.js·前端工程化