场景

centos7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现以下问题。

  1. npm -v
  2. node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
  3. node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
  4. node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
  5. node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
  6. node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
  7. node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)

原因

查看系统内安装的glibc版本

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

  1. strings /lib64/libc.so.6 |grep GLIBC_
  2. GLIBC_2.2.5
  3. ...
  4. GLIBC_2.17
  5. ....

解决办法

更新glibc

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

  1. wget http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
  2. tar xf glibc-2.28.tar.gz
  3. cd glibc-2.28/ && mkdir build && cd build
  4. ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

可能出现的错误

上步更新glibc 可能会发生错误。

如果没有错误 下边这一步 不用看。

make问题
  1. configure: error:
  2. *** These critical programs are missing or too old: make bison compiler
  3. *** Check the INSTALL file for required versions.

解决办法:升级gcc与make

  1. # 升级GCC(默认为4 升级为8)</span>
  2. yum install -y centos-release-scl
  3. yum install -y devtoolset-8-gcc*
  4. mv /usr/bin/gcc /usr/bin/gcc-4.8.5
  5. ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
  6. mv /usr/bin/g++ /usr/bin/g++-4.8.5
  7. ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
  8. # 升级 make(默认为3 升级为4)
  9. wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
  10. tar -xzvf make-4.3.tar.gz && cd make-4.3/
  11. ./configure --prefix=/usr/local/make
  12. make && make install
  13. cd /usr/bin/ && mv make make.bak
  14. ln -sv /usr/local/make/bin/make /usr/bin/make

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

  1. cd /root/glibc-2.28/build
  2. ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
我的依旧报错:bison太老旧
  1. configure: error:
  2. *** These critical programs are missing or too old: bison
  3. *** Check the INSTALL file for required versions.

看看我的bison版本多少

  1. bison -v
  2. -bash: bison: 未找到命令

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

  1. cd /root/glibc-2.28/build
  2. ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
  3. yum install -y bison

继续更新

make 和 make install在linux中就是安装软件的意思 简单这么理解就好。

这个过程较长,大约半小时左右,建议打一局游戏就好了。

  1. make && make install

验证下 是不是好了

  1. npm -v

如果还是出现下面的问题,要连接新的动态库

  1. npm -v
  2. node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
  3. node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
  4. node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)

用下面命令查看

  1. strings /usr/lib64/libstdc++.so.6 | grep CXXABI

更新libstdc++.so.6.0.26

  1. # 更新lib libstdc++.so.6.0.26
  2. wget https://cdn.frostbelt.cn/software/libstdc%2B%2B.so.6.0.26
  3. # 替换系统中的/usr/lib64
  4. cp libstdc++.so.6.0.26 /usr/lib64/
  5. cd /usr/lib64/
  6. ln -snf ./libstdc++.so.6.0.26 libstdc++.so.6

验证

  1. npm -v

node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found问题解决方案的更多相关文章

  1. 报错解决OSError: /lib64/libm.so.6: version `GLIBC_2.27' not found

    使用pyg报错如下: 1 Traceback (most recent call last): 2 File "main.py", line 18, in <module&g ...

  2. ImportError: /lib64/libm.so.6: version `GLIBC_2.23' not found (required by /usr/local/python37/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so)

    一 问题背景 这个错误的出现往往与我前面的一篇文章 ImportError: /lib64/libm.so.6: version `CXXAB_1.3.8.' not found (required ...

  3. centos6的kibana7.1无法启动报错 FATAL Error: /lib64/libc.so.6: version `GLIBC_2.14' not found 升级glibc的问题处理

    centos6的kibana7.1无法启动报错 FATAL  Error: /lib64/libc.so.6: version `GLIBC_2.14' not found 升级glibc的问题处理 ...

  4. 执行SDK的aapt报错./aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./aapt)

    问题| 执行SDK下的aapt报错./aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./aapt)   ../ ...

  5. Linux/Centos下/lib64/libc.so.6: version `GLIBC_2.14' not found问题

    Centos的某个版本下编译了一个可执行程序,复制到另外一个Centos环境下去执行,结果出现了以下错误: /lib64/libc.so.6: version `GLIBC_2.14' not fou ...

  6. ImportError: /lib64/libc.so.6: version `GLIBC_2.17' 问题解决

    安装最新的TensorFlow(>=1.10)后,载入TensorFlow时提示Glibc版本过低,需要升级到指定版本. ImportError: /lib64/libc.so.6: versi ...

  7. linux /lib64/libc.so.6: version `GLIBC_2.17′ not found

    使用root权限安装Glances,需要用到glibc,安装失败后所有命令都不好用了,执行回报“/lib64/libc.so.6: version `GLIBC_2.17′ not found ”的错 ...

  8. /lib64/libc.so.6: version `GLIBC_2.18' not found报错解决

    今日安装一区块链服务时报错:/lib64/libc.so.6: version `GLIBC_2.18' not found,检查后现有的glibc版本是2.17,然后参考https://www.ji ...

  9. CentOS “/lib64/libc.so.6: version `GLIBC_2.14′ not found”系统glibc版本太低

    1.试图运行程序提示”libc.so.6: version `GLIBC_2.14′ not found”,原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的.2.查看系统gl ...

  10. ImportError: /lib64/libm.so.6: version `CXXAB_1.3.8.' not found (required by /usr/local/python37/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so)

    问题背景 使用在AI项目中,由于需要用到tensorflow,scipy,sklearn等这些库,所以需要libstdc++库. 问题原因 这个问题的出现与写的代码无关,只与操作系统的libstdc+ ...

随机推荐

  1. 教你基于MindSpore用DCGAN生成漫画头像

    本文分享自华为云社区<[昇思25天学习打卡营打卡指南-第二十天]DCGAN生成漫画头像>,作者:JeffDing. DCGAN生成漫画头像 在下面的教程中,我们将通过示例代码说明DCGAN ...

  2. Apache Hudi X Apache Kyuubi,中国移动云湖仓一体的探索与实践

    分享嘉宾:孙方彬 中国移动云能力中心 软件开发工程师 编辑整理:Hoh Xil 出品平台:DataFunTalk 导读:在云原生 + 大数据的时代,随着业务数据量的爆炸式增长以及对高时效性的要求,云原 ...

  3. 统计里面PV 和 UV代表什么意思

    1.网站流量bai统计中"PV"它所代表的意思是访问量了,具体指的du就是网站zhi的页面点击量或是浏览量,亦或是页面的刷新量dao了,网站的页面每刷新一次,就统计一个" ...

  4. 浅谈:HTTP 和 HTTPS 通信原理

    1.HTTP基本概念 1.1 HTTP是什么?  HTTP (超文本传输协议)协议被用于在 Web 浏览器和网站服务器之间传递信息, HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻 ...

  5. 双指针 & 双向搜索

    双指针 根据人类直觉这个东西需要满足单调性,所以预处理的时候大概率需要排序. 好像常与二分结合使用? 可以用在序列.链表(存储位置)或者树.图上(存储结点). 或者用于其他算法(eg:单调队列.差分) ...

  6. 结构体_C

    // Code file created by C Code Develop #include "ccd.h" #include "stdio.h" #incl ...

  7. Javascript 转Date对象为字符串实现函数

    转Date对象为字符串实现函数 function formatDate(time, format = "Y-MM-dd HH:mm:ss") { /** 格式化字符说明 Y 年 四 ...

  8. P10507 Georgia and Bob 题解

    思路 对棋子坐标排序,\(x_{i}-x_{i-1}-1\) 就是棋子可以移动的距离. 移动第 \(i\) 个棋子,相当于将 \(i+1\) 的移动范围扩大. 这于是变形成了一个台阶 nim 博弈论. ...

  9. 百度翻译network里没有sug(文章发布时间2022年10月)

    百度翻译已经更新,现在的百度翻译分为两个阶段翻译,第一个阶段识别你的翻译字符是什么类型语言 第二阶段生成随机sign加携带token以post表单方式上传数据,返回json数据 尚硅谷在B站发布的的爬 ...

  10. Segment-anything学习到微调系列_SAM初步了解

    Segment-anything学习到微调系列_SAM初步了解 前言 本系列文章是博主在工作中使用SAM模型时的学习笔记,包含三部分: SAM初步理解,简单介绍模型框架,不涉及细节和代码 SAM细节理 ...