linuxnodejs 20.* 安装问题,version `GLIBCXX_3.4.26‘

背景

今天服务器被重置拉,nodejs 环境不存在,特意安装下nodejs,一访问官网,妈呀,居然到20版本拉!就尝试安装下最新版本!


过程

$ cd /opt
$ curl -OL https://nodejs.org/dist/v20.10.0/node-v20.10.0-linux-x64.tar.gz
$ tar -zxvf node-v20.10.0-linux-x64.tar.gz -C /usr/local/
$ cd /usr/local/
$ mv node-v20.10.0-linux-x64/ nodejs
$ ln -s /usr/local/nodejs/bin/node /usr/local/bin/node
$ ln -s /usr/local/nodejs/bin/npm /usr/local/bin/npm

到这里nodejs 安装基本完成拉


验证nodejs 出现问题

[root@localhost ~]# node -v
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
[root@localhost ~]# sudo find / -name "libstdc++.so.6*"
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.19
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyo

问题的原因

缺少libstdc++


网上解决方法

在这里插入图片描述


我自己的解决方法

查看自己电脑的库

[root@localhost ~]# strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_2.18
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_PRIVATE
___sys_errlist_GLIBC_2_3
___sys_errlist_GLIBC_2_4
___sys_errlist_GLIBC_2_1
___sys_nerr_GLIBC_2_1
___sys_nerr_GLIBC_2_3
___sys_nerr_GLIBC_2_4
___sys_nerr_GLIBC_2_3
___sys_nerr_GLIBC_2_4
___sys_nerr_GLIBC_2_1
__bdflush_GLIBC_2_0
[root@localhost ~]# sudo find / -name "libstdc++.so.6*"
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.19
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyo
[root@localhost ~]# sudo cp somewhere/libstdc++.so.6.0.25 /usr/lib64/
cp: cannot stat 'somewhere/libstdc++.so.6.0.25': No such file or directory
[root@localhost ~]# sudo cp somewhere /libstdc++.so.6.0.25 /usr/lib64/
cp: cannot stat 'somewhere': No such file or directory
cp: cannot stat '/libstdc++.so.6.0.25': No such file or directory

解决方式

[root@localhost ~]# cd /usr/local/lib64
[root@localhost lib64]# 
[root@localhost lib64]# 
[root@localhost lib64]# ls
[root@localhost lib64]# ll
total 0
[root@localhost lib64]# sudo wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
sudo: wget: command not found
[root@localhost lib64]# sudo curl -OL http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100   162  100   162    0     0    467      0 --:--:-- --:--:-- --:--:--   466
100 4068k  100 4068k    0     0   267k      0  0:00:15  0:00:15 --:--:--  263k
[root@localhost lib64]# ls
libstdc.so_.6.0.26.zip
[root@localhost lib64]# pwd
/usr/local/lib64
[root@localhost lib64]# sudo unzip libstdc.so_.6.0.26.zip
sudo: unzip: command not found
[root@localhost lib64]# sudo yum install unzip -y
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.ustc.edu.cn* centos-sclo-rh: mirrors.ustc.edu.cn* centos-sclo-sclo: mirrors.ustc.edu.cn* extras: mirrors.bfsu.edu.cn* updates: mirrors.bfsu.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package unzip.x86_64 0:6.0-24.el7_9 will be installed
--> Finished Dependency ResolutionDependencies Resolved==============================================================================================================Package                Arch                    Version                        Repository                Size
==============================================================================================================
Installing:unzip                  x86_64                  6.0-24.el7_9                   updates                  172 kTransaction Summary
==============================================================================================================
Install  1 PackageTotal download size: 172 k
Installed size: 369 k
Downloading packages:
unzip-6.0-24.el7_9.x86_64.rpm                                                          | 172 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionInstalling : unzip-6.0-24.el7_9.x86_64                                                                  1/1 Verifying  : unzip-6.0-24.el7_9.x86_64                                                                  1/1 Installed:unzip.x86_64 0:6.0-24.el7_9                                                                                 Complete!
[root@localhost lib64]# sudo unzip libstdc.so_.6.0.26.zip
Archive:  libstdc.so_.6.0.26.zipinflating: libstdc++.so.6.0.26     
[root@localhost lib64]# 
[root@localhost lib64]# 
[root@localhost lib64]# ll
total 16940
-rwxrwxr-x. 1 root root 13172960 Jun 10  2019 libstdc++.so.6.0.26
-rw-r--r--. 1 root root  4165669 Jan  4 02:13 libstdc.so_.6.0.26.zip
[root@localhost lib64]# sudo cp libstdc++.so.6.0.26 /usr/lib64
[root@localhost lib64]# cd /usr/lib64
[root@localhost lib64]# ls -l | grep libstdc++ (just to check the symlink)
-bash: syntax error near unexpected token `('
[root@localhost lib64]# ls -l | grep libstdc++
lrwxrwxrwx.  1 root root       19 Dec 27 02:58 libstdc++.so.6 -> libstdc++.so.6.0.19
-rwxr-xr-x.  1 root root   995840 Sep 30  2020 libstdc++.so.6.0.19
-rwxr-xr-x.  1 root root 13172960 Jan  4 02:14 libstdc++.so.6.0.26
[root@localhost lib64]# sudo rm libstdc++.so.6
[root@localhost lib64]# sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6
[root@localhost lib64]# ls -l | grep libstdc++
lrwxrwxrwx.  1 root root       19 Jan  4 02:15 libstdc++.so.6 -> libstdc++.so.6.0.26
-rwxr-xr-x.  1 root root   995840 Sep 30  2020 libstdc++.so.6.0.19
-rwxr-xr-x.  1 root root 13172960 Jan  4 02:14 libstdc++.so.6.0.26
[root@localhost lib64]# node -v
v20.10.0
[root@localhost lib64]# 
[root@localhost lib64]# 
[root@localhost lib64]# 

Tips

因为没有安装 wget 所以使用的curl,因为下载的是zip 所以安装unzip 解压工具

更多issues

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/319054.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是Alibaba Cloud Linux?完全兼容CentOS,详细介绍

Alibaba Cloud Linux是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版,针对阿里云服务器ECS做了大量深度优化,Alibaba Cloud Linux由阿里云官方免费提供长期支持和维护LTS,Alibaba Cloud Linux完全兼容CentOS/RHEL生态和操作方式…

简单工厂,工厂方法,抽象工厂模式

文章目录 简单工厂模式简单工厂模式的角色简单工厂的介绍 工厂方法UML图片代码工厂方法总结: 抽象工厂代码实现 简单工厂模式 简单工厂模式(Simple Factory Pattern)专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共…

【数据库原理】(5)关系数据库的关系数据结构

关系及相关概念 在关系模型中,无论是实体还是实体之间的联系均由关系(二维表)来表示。 1.域(Domain) 定义:域是一组具有相同数据类型的值的集合。例子:实数集合、整数集合、英文字母集合等。 2.笛卡儿积(Cartesian…

项目框架构建之3:Nuget服务器的搭建

本文是“项目框架构建”系列之3,本文介绍一下Nuget服务器的搭建,这是一项简单的工作,您或许早已会了。 1.打开vs2022创建Asp.net Web应用程序 框架选择.net framework4.8,因为nuget服务器只支持.net framework。 2.选择空项目和去…

【Linux系统编程二十六】:线程控制与线程特性(Linux中线程库/线程创建/线程退出/线程等待)

【Linux系统编程二十六】:线程控制与线程特性 一.Linux线程库pthread1.线程控制块2.线程tid3.线程栈 二.线程控制1.线程创建2.线程退出3.线程等待 三.线程的特性1.独立栈2.局部存储3.线程可分离 一.Linux线程库pthread 在Linux中,是没有明确的线程概念的…

进程与计划任务

什么是程序? 程序:在硬盘上躺着,执行特定任务的一串代码 静态 进程:加载到内存中运行 动态 进程是程序的副本,进程是有生命周期,是硬件资源分配的最小单位 pid号可以通过pstree -p 查到 uid &…

卫星互联网与MEC融合方案研究

卫星互联网与MEC融合方案研究 作者:温特、王立中、司鹏、颜明明、马恬、郭伊蒙 中国卫通集团股份有限公司 本文首发:第十九届卫星通信学术年会 摘 要:在卫星互联网中引入移动边缘计算(MEC)技术可有效提高用户体验质量,降低运营成…

NSSCTF 简单包含

开启环境: 使用POST传flag&#xff0c;flag目录/var/www/html/flag.php 先使用post来尝试读取该flag.php 没反应: 查看一下源码index.php&#xff0c;看有什么条件 base64解密: <?php$path $_POST["flag"];if (strlen(file_get_contents(php://input)) <…

动手学深度学习之卷积神经网络之池化层

池化层 卷积层对位置太敏感了&#xff0c;可能一点点变化就会导致输出的变化&#xff0c;这时候就需要池化层了&#xff0c;池化层的主要作用就是缓解卷积层对位置的敏感性 二维最大池化 这里有一个窗口&#xff0c;来滑动&#xff0c;每次我们将窗口中最大的值给拿出来 还是上…

docker 搭建gitlab 恢复和备份

最近一直在折腾gitlab 代码管理系统 采用docker搭建 镜像网址 https://hub.docker.com/ 技术交流 http://idea.coderyj.com/ 1.因为我要恢复的版本是12.0.9的所有我就下载了docker-ce的12.0.9的镜像 1.下载镜像 docker pull gitlab/gitlab-ce:12.0.9-ce.02.安装 docker run …

Vue v-html中内容图片过大自适应处理

之前图片如下&#xff0c;图片已经超出了页面的展示范围 对v-html增加样式处理 <div class"body padding-l scroll " v-html"docData.content"> </div><style scoped>.body >>> img {max-width: 100% ;} </style>…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)添加 删除 修改 释放

在上篇文章&#xff08;处理任务队列中的任务&#xff09;中我们讲解了处理任务队列中的任务的具体流程&#xff0c;eventLoopProcessTask函数的作用&#xff1a; 处理队列中的任务&#xff0c;需要遍历链表并根据type进行对应处理,也就是处理dispatcher中的任务。 // 处理任…