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

相关推荐
qq_589666058 小时前
npm install npm install -g @vue/cli 分别是什么意思以及安装路径
前端·vue.js·npm
Dreamboat-L1 天前
NVM的安装与使用(保姆级教程)
npm·node.js
无责任此方_修行中2 天前
踩坑实录:为什么 `pnpm run` 会偷偷帮你装依赖?—— 浅析 pnpm 与 npm run 的底层差异
javascript·后端·npm
ShiXZ2134 天前
指令集-NPM 常用指令速查手册
前端·npm·node.js
是烨笙啊4 天前
从 npm 与 Bun 的选择看 AI 时代的“最佳实践”焦虑
前端·人工智能·npm
小杍随笔4 天前
【 .npmrc 终极配置指南:统一管理 npm/pnpm 缓存与全局目录,告别磁盘混乱】
前端·缓存·npm
ppshuX5 天前
npm-cli-造轮子初体验
npm
前端工作日常6 天前
我学习到的npx内部实现机制
npm
minglie17 天前
npm ali-oss库依赖冲突
前端·npm
屑曦晨8 天前
npm 全局包迁移指南:从系统目录到用户目录
npm·node.js