在Linux操作系统上安装NVM教程——CentOS 7/VMware 17版

目录

一、测试网络是否能上网

二、下载阿里云镜像

三、解决执行yum命令出现报错(没有就跳过)

四、下载NVM安装包 

五、解压NVM安装包

六、安装Node

七、连接新的动态库

八、升级GLIBC版本

九、安装GCC

十、查看当前服务器CentOS版本


一、测试网络是否能上网

1.网络是否能正常访问:

2.查看文件:cat /etc/sysconfig/network-scripts/ifcfg-ens33

文件的ONBOOT是否等于"yes",并不是的话,将其改为yes

编辑文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33

按I键,修改完成后,按Esc键,输入::wq!

二、下载阿里云镜像

1.备份原镜像文件:

1)新建文件夹:mkdir backup

2)将/etc/yum.repos.d的文件全部移进backup文件夹:mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup

3)复制一份CentOS-Base.repo:

cp /etc/yum.repos.d/backup/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo

2.修改成阿里云镜像:(不要用http://mirrors.cloud.aliyuncs.com,用http://mirrors.aliyuncs.com,因为ping http://mirrors.cloud.aliyuncs.com,ping不通,访问不到)

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.查看镜像文件内容:cat /etc/yum.repos.d/CentOS-Base.repo 

完整的CentOS-Base.repo 文件内容: 

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
#failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/BaseOS/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
#failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/os/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
#failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[PowerTools]
name=CentOS-$releasever - PowerTools - mirrors.aliyun.com
#failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/PowerTools/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/PowerTools/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/PowerTools/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[AppStream]
name=CentOS-$releasever - AppStream - mirrors.aliyun.com
#failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/AppStream/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/AppStream/$basearch/os/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

4.依次执行命令: yum clean all 和 yum makecache

如果还是出现报错:"Failed connect to mirrors.cloud.aliyuncs.com:80; Connection refused"

三、解决执行yum命令出现报错(没有就跳过)

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"

解决方法:配置dns服务器

1)查看当前网络连接:nmcli connection show

2)修改当前网络连接对应的dns服务器,网络连接可以使用NAME(ens33)或者UUID(6f403f04-ea93-4abe-9ce3-5236172de5d9),执行命令:

nmcli con mod ens33 ipv4.dns "114.114.114.114 8.8.8.8"

3)启用dns配置:nmcli con up ens33

现在再执行yum命令就不会报错了,试试吧

四、下载NVM安装包 

1.下载nvm包:https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.5.tar.gz

打开虚拟机浏览器,输入下载链接,出现弹窗,选择保存文件,等待下载,在右上角,下载图标,点击文件夹图标,查看nvm安装包的文件所在文件夹

文件下载默认存放在下载文件夹中

五、解压NVM安装包

1.在/root目录创建.nvm文件夹:mkdir /root/.nvm

2.将nvm解压到.nvm文件夹中:

tar -zxvf 下载/nvm-0.39.5.tar.gz -C /root/.nvm/ (-C 解压到指定目录)

(两则对比在于前者多了nvm-0.39.5文件夹,后者直接去掉nvm-0.39.5文件夹,直接存放nvm-0.39.5里面的内容)

tar -zxvf 下载/nvm-0.39.5.tar.g --strip-components 1 -C /root/.nvm/

3.编辑~/.bashrc文件:vim ~/.bashrc,文件末尾添加以下内容(按I键,进入编辑模式,按Esc键,退出编辑模式,保存并强制退出,输入::wq!

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

4.重新编译.bashrc文件:source ~/.bashrc,检查nvm是否安装成功,输入:nvm -v

六、安装Node

安装node:nvm install node版本(此处安装20.15.0版本)

查看nvm支持安装什么版本的node:nvm ls-remote

查看已安装的node版本列表:nvm ls

一开始不知道是网络不好还是怎么样,中断了一下,多执行几次

到这,node就安装成功了,不出意外,输入node -v可以看到node的版本号的,那么,不出意外,意外就要来了

七、连接新的动态库

1.解决问题:

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)

2.复制链接,执行:wget https://cdn.frostbelt.cn/software/libstdc%2B%2B.so.6.0.26

按住ctrl键,到linux的浏览器下载该文件

3.将下载好的文件,复制一份到/usr/lib64,执行命令:cp 下载/libstdc++.so.6.0.26 /usr/lib64/

4.进入/usr/lib64文件夹,执行命令:ln -snf ./libstdc++.so.6.0.26 libstdc++.so.6

八、升级GLIBC版本

1.解决问题:node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)

2.分析原因:没有找到GLIBC_2.27这个版本,node v18开始,都需要GLIBC_2.27支持,而本机的GLIBC版本是比较低的,最高才2.17,不符合要求(centos7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现以下问题)

3.查看GLIBC版本:strings /lib64/libc.so.6 | grep GLIBC

4.安装包glibc-2.2

wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.xz

5.进入glibc-2.28文件夹,创建并进入build文件夹,依次执行:mkdir build  和 cd build

6.编译GLIBC:

 ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

问题:

configure: error: in `/tmp/glibc-2.28/build':
configure: error: no acceptable C compiler found in $PATH

原因:没有找到C编译器的环境路径,简而言之,就是要安装gcc

查看本机gcc版本(没有这东西)

九、安装GCC

1.执行:yum -y install gcc

资源找不到


执行命令:curl http://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/repodata/repomd.xml -v

再次执行gcc安装命令:yum -y install gcc

查看gcc版本:gcc -v

十、查看当前服务器CentOS版本

1.查看本机服务器版本:rpm -qi centos-release

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

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

相关文章

[AWS云]kafka调用和创建

背景:因为因为公司的项目需要使用AWS的kafka,但是在创建和使用过程中都遇到了一些报错和麻烦,毕竟老外的东西,和阿里云、华为使用起来还是不一样。 一、创建(创建的配置过程就略了,就是配置一下可用区、型号&#xff0…

闯关leetcode——110. Balanced Binary Tree

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/balanced-binary-tree/description/ 内容 Given a binary tree, determine if it is height-balanced. A height-balanced binary tree is a binary tree in which the depth of the two subtrees…

深入理解售后派单管理系统,功能优势一览

售后派单管理系统优化售后服务流程,提升响应速度、运营效率和服务质量。ZohoDesk等系统通过自动化派单、实时调度监控等功能,助力企业赢得竞争优势。适用于电子产品、汽车、IT及房地产等行业。 一、什么是售后派单管理系统 售后派单管理系统是一种专门用…

第七届机械、控制与计算机工程国际学术会议(ICMCCE2024)

重要信息 大会官网:www.icmcce.com 大会地点:中国杭州 大会时间:2024年10月25-27日 大会简介 第七届机械、控制与计算机工程国际学术会议定于2024年10月25日至27日在中国杭州召开。本届会议由巢湖学院主办,主要围绕“机械”、…

AGI|浅尝多Agent协作框架CrewAI,打造一个智能旅行助手

目录 一、介绍 二、特性 三、使用案例 四、 结语 一、介绍 Crew AI是一个多智能体协作智能框架,可以编排角色扮演的AI智能体。旨在协调角色扮演的自主AI代理,通过促进协作智能体,Crew AI使代理能够无缝协作,共同应对复杂任务。…

【JavaScript】LeetCode:61-65

文章目录 61 课程表62 实现Trie(前缀树)63 全排列64 子集65 电话号码的字母组合 61 课程表 Map BFS拓扑排序:将有向无环图转为线性顺序。遍历prerequisites:1. 数组记录每个节点的入度,2. 哈希表记录依赖关系。n 6&a…

(十九)、使用 minikube 运行k8s 集群

文章目录 1、机器信息2、官方文档3、启动本机 docker4、安装 minikube5、启动 minikube5.1、报错重试应该做什么? 6、启动后7、安装 Vs Code & k8s extensions8、在 VS Code 查看运行起来的 k8s 集群9、基本命令10、虚拟化不支持 Mac Os 14.3.1 1、机器信息 Ma…

c++算法第3天

本篇文章包含三道算法题,难度由浅入深,适合新手练习哟 目录 第一题 题目链接 题目解析 代码原理 代码编写 本题总结 第二题 题目链接 题目解析 代码原理 代码编写 第三题 题目链接 题目解析 代码原理 代码编写 第一题 题目链接 [NOIP2…

Iceberg 基本操作和快速入门二-Spark DDL操作

Iceberg 基本操作和快速入门一-CSDN博客 启动spark会话 docker exec -it spark-iceberg spark-sql 创建表 CREATE TABLE prod.db.sample ( id bigint NOT NULL COMMENT unique id, data string) USING iceberg; 创建分区表 CREATE TABLE prod.db.sample_par ( id bigint, …

No.17 笔记 | XXE漏洞:XML外部实体注入攻击

1. XXE漏洞概览 XXE(XML External Entity)是一种允许攻击者干扰应用程序对XML输入处理的漏洞。 1.1 XXE漏洞比喻 想象XML解析器是一个听话的机器人,而XXE就是利用这个机器人的"过分听话"来获取不应该获取的信息。 1.2 XXE漏洞危…

基于51单片机的大棚环境检测系统设计

温室大棚环境监测系统设计:基于51单片机的智能化解决方案 引言 随着现代农业技术的发展,温室大棚种植已成为提高农作物产量和质量的重要手段。为了更好地控制温室环境,提高作物生长效率,环境监测系统成为了温室管理中不可或缺的…

【Java 22 | 9】 深入解析Java 22 :Foreign Function Memory API 的改进

Java 22 对 Foreign Function & Memory API(FFI,外部函数和内存 API)进行了重要改进,旨在增强 Java 与本地代码及内存的交互能力。这一特性使 Java 程序能够更方便地调用非 Java 代码,如 C/C 库,同时提…

振弦式渗压计压力计算出现负值是什么原因?

振弦式渗压计作为一种高精度的测量仪器,被广泛应用于地质工程、水利水电工程等领域,用于监测土壤或结构物内部的渗水压力。然而,在实际应用中,有时会出现压力计算结果为负值的情况,这不仅影响数据的准确性,…

基于Java微信小程序的水果销售系统详细设计和实现(源码+lw+部署文档+讲解等)

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不…

iLogtail 开源两周年:UC 工程师分享日志查询服务建设实践案例

作者:UC 浏览器后端工程师,梁若羽 传统 ELK 方案 众所周知,ELK 中的 E 指的是 ElasticSearch,L 指的是 Logstash,K 指的是 Kibana。Logstash 是功能强大的数据处理管道,提供了复杂的数据转换、过滤和丰富…

快充协议有哪些,都有哪些特点

什么是PD协议 PD协议是一种充电协议,全称为“USB Power Delivery(USB PD)”,是由USB-IF(USB Implementers Forum)组织制定的一种标准协议‌。它是一种基于USB接口的快速充电技术,可以实现高达1…

领导满意的可视化数据分析图表,原来一键配置就可以完成

数据分析图表是数据可视化的一种形式,它是将数据以图表的形式呈现出来,从而帮助人们更直观地理解数据和数据之间的关系。数据分析图表可以包括各种类型的图表,例如线图、柱状图、散点图、饼图等。这些图表可以用于描述单个变量的分布&#xf…

2010年国赛高教杯数学建模C题输油管的布置解题全过程文档及程序

2010年国赛高教杯数学建模 C题 输油管的布置 某油田计划在铁路线一侧建造两家炼油厂,同时在铁路线上增建一个车站,用来运送成品油。由于这种模式具有一定的普遍性,油田设计院希望建立管线建设费用最省的一般数学模型与方法。   1. 针对两炼…

外包干了3周,技术退步太明显了。。。。。

先说一下自己的情况,大专生,21年通过校招进入武汉某软件公司,干了差不多3个星期的功能测试,那年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我才在一个外包企业干了3周的功…

推荐一款流量录制回放工具:JVM-sandbox-repeater!

在软件开发和测试过程中,我们经常会遇到需要对网络请求进行录制和回放的需求,以便进行调试、测试和分析。为了模拟真实的用户请求,我们通常会使用各种流量录制回放工具来记录并重放网络请求。 其中,jvm-sandbox-repeater 是一款功…