nvm安装实现node多版本的切换

nvm安装实现node多版本的切换

  • 方式一 下载安装包安装
    • 下载安装包
    • 解压安装
    • 设置 nvm 环境变量
    • 查看 nvm 是否安装完成
    • 安装 node 环境
    • 切换 node 版本
    • 列出已经安装的版本
  • 方式二 一键脚本安装
    • 下载安装
    • 查看 nvm 是否安装完成
    • 安装 node 环境
    • 切换 node 版本
    • 列出已经安装的版本
    • nvm相关命令

Linux安装nvm管理工具(v0.40.1)

方式一 下载安装包安装

下载安装包

wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.1.tar.gz

如果环境限制不通外网,可以先将包下载到本地,通过rz命令将安装包上传到服务器。

解压安装

tar  -xvf nvm-0.40.1.tar.gz
mv  nvm-0.40.1   /opt/# 如果没有执行权限给一下执行权限
chmod +x /opt/nvm-0.40.1/nvm.sh

设置 nvm 环境变量

vim /etc/profile在文件最后面添加下面变量

export NVM_DIR="/opt/nvm-0.40.1"
[ -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

执行文件并从文件中加载变量及函数到执行环境

source /etc/profile

查看 nvm 是否安装完成

[root@w ~]# nvm -v

安装 node 环境

# 安装 node 版本,可以安装多个版本,安装命令只能在服务器上执行才能生效
nvm install  v17.9.1
nvm install  v16.9.1

切换 node 版本

nvm use v16.14.2

列出已经安装的版本

nvm ls

方式二 一键脚本安装

下载安装

要安装或更新nvm,您应该运行安装脚本。为此,您可以手动下载并运行脚本,或者使用以下 cURL 或 Wget 命令:

以下2个命令可任选一个运行 进行安装。
1. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash2. wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

运行上述任一命令都会下载并运行脚本。
该脚本将 nvm 存储库克隆到/.nvm,并尝试将下面代码片段中的源代码行添加到正确的配置文件(/.bash_profile、/.zshrc、/.profile或~/.bashrc)。形成环境变量

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

查看 nvm 是否安装完成

[root@w ~]# nvm -v

安装 node 环境

# 安装 node 版本,可以安装多个版本,安装命令只能在服务器上执行才能生效
nvm install  v17.9.1
nvm install  v16.9.1

切换 node 版本

nvm use v16.14.2

列出已经安装的版本

nvm ls

两种安装方式其实实际区别不是很大, 可以认为是:

  • 通过方式一 安装的话,可以自定义安装路径和环境变量
  • 通过方式二 是直接执行安装脚本,默认形成安装路劲了,只需执行一条命令就安装成功了。(其实安装路径和环境变量根据需求也是可以自定义的)

提示点:

  • nvm安装好之后,通过 nvm install [node版本号] 安装指定版本 node 似乎需要在有网条件下进行。 因为是要去下载远程服务器的node

  • ndoe 的版本 v18.0.0 以上版本的 可能会存在glibc系统兼容性。可能需要根据实际情况升级glibc。
    具体提示如同:
    在这里插入图片描述

nvm相关命令

nvm ls-remote :列出所有远程服务器的版本(官方node version list)

nvm list :列出所有已安装的 node 版本

nvm list available :显示所有可下载的版本

nvm install stable :安装最新版 node

nvm install [node版本号] :安装指定版本 node

nvm uninstall [node版本号] :删除已安装的指定版本

nvm use [node版本号] :切换到指定版本 node

nvm current :当前 node 版本

nvm alias [别名] [node版本号] :给不同的版本号添加别名

nvm unalias [别名] :删除已定义的别名

nvm alias default [node版本号] :设置默认版本

附:nvm 地址链接
https://github.com/nvm-sh/nvm

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于yolov5的不同颜色安全帽检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv5的不同颜色安全帽检测系统是一种利用深度学习技术,特别是YOLOv5目标检测算法的创新应用。该系统旨在提高施工现场的安全管理水平,通过实时识别和检测工人佩戴的安全帽颜色,实现对安全规范的精准监督。 YOLOv5作为一…

GeoGebra 與數學探索 3 GeoGebra 在微積分的探索與動態演示

Goal: GeoGebra 除了可以輕鬆的讓我們以即時動態反饋圖形的方式模擬探索幾何的問題, 或是幫我們驗證答案, 也可以進行數論、微積分、矩陣等等各方面的探索, 在問題尺度不大又需要即時以圖像視覺呈現探索過程的情況下, GeoGebra 其實優於以寫程式的方式進行探索. “Talk is che…

记录|如何对批量型的pictureBox组件进行批量Image设置

目录 前言一、问题表述二、批量化处理更新时间 前言 参考文章: 一、问题表述 问题就是上图所示,这些的命名风格统一,只是最后的数字是不同的。所以存在可以批量化进行处理的可能性。 二、批量化处理 private void SetPictureBoxImages(){for…

VMware Fusion 虚拟机Mac版 安装CentOS8 系统教程

Mac分享吧 文章目录 CentOS 8 安装完成,软件打开效果一、Mac中使用虚拟机安装CentOS 8 系统1️⃣:下载镜像2️⃣:创建虚拟机3️⃣:设置虚拟机4️⃣:安装虚拟机5️⃣:设置成从磁盘启动 安装完成&#xff01…

数字病理图像处理:分割、合成与数据增强研究|顶刊精析·24-09-20

小罗碎碎念 今日精析:Medical Image Analysis 这篇文章介绍了一种结合了先进分割模型和生成对抗网络的病理切片图像分析流程,用于提高癌症诊断的准确性和效率。 作者角色姓名单位名称(中文)第一作者Muhammad Jehanzaib博阿齐奇大学…

在SpringCloud中实现服务熔断与降级,保障系统稳定性

在分布式系统中,微服务架构的应用越来越受欢迎。然而,由于各个微服务之间的依赖关系和网络通信的不稳定性,一个不稳定的服务可能会对整个系统产生连锁反应,导致系统崩溃。为了保障系统的稳定性,我们需要一种机制来处理…

支持异步线程自动传递上下文(例如当前请求)的工具类(支持自定义上下文传递逻辑,支持拦截所有异步操作)

文章目录 支持异步线程自动传递上下文(例如当前请求)的工具类(支持自定义上下文传递逻辑,支持拦截所有异步操作)使用示范ContextSupportedAsyncUtil .java自动拦截所有异步线程池操作ContextSupportedExecutorAspect.j…

【C++】——多态

文章目录 多态的概念多态的定义和实现虚函数虚函数的重写(覆盖)虚函数重写的例外 override 和 final关键字重载、重写和重定义(隐藏)纯虚函数和抽象类多态的原理动态绑定和静态绑定 多态的概念 多态就是多种形态,在执行某个行为时,当不同对象去完成时&a…

九章云极交付总监徐阳受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 北京九章云极科技有限公司基础设施中心交付总监徐阳先生受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾,演讲议题为“进阶卓越:自我培养备受需求的项目经理的实战策略”。大会将…

靠AI视频在短视频平台接单月入过万,她怎么做到的?AI视频真的来了

大家好,我是画画的小强 相信大家和我一样,从小也有一个导演梦,感谢AI时代,替我完成了这个梦想,如果你想知道如何实现的,今天这篇文章,你一定要看完! 从去年11月份起,随…

python函数三:拆包和交换变量值、引用、匿名函数

文章目录 1. 拆包和交换变量值1.1 拆包1.2 交换变量值 2. 引用2.1 了解引用2.1 把引用当作参数传递 3. 匿名函数3.1 lambda语法3.2 lambda的应用3.3 使用使用函数形式来求解某天是该年的第几天? 1. 拆包和交换变量值 1.1 拆包 拆包:把组合形成的元组形…

Fipexide(FPX):植物组织培养中的新兴化学诱导剂AbMole

在植物科学领域,组织培养技术一直是探索植物发育机制和生物技术应用的强大工具。然而,尽管植物生长调节剂如生长素(Auxin)和细胞分裂素(Cytokinin)在促进植物愈伤组织形成和再分化中发挥了关键作用&#xf…

数据结构之树(下),你真的懂吗?

数据结构入门学习(全是干货)——树(下) 1 堆 (Heap) 1.1 什么是堆 堆 (Heap) 是一种特殊的完全二叉树,分为最大堆和最小堆。 最大堆:每个节点的值都大于或等于其子节点的值,根节点是整个堆的…

一个实用的贴图工具Snipaste

Snipaste贴图工具操作指南 Snipaste 是一个简单但强大的贴图工具,同时也可以执行截屏、标注等功能。 一、安装与启动 下载Snipaste:访问 Snipaste 的官方网站下载合适的安装包。 安装:双击下载的安装包,按照提示完成安装过程。…

简单题88. 合并两个有序数组 (Python)20240920

问题描述: python: class Solution(object):def merge(self, nums1, m, nums2, n):""":type nums1: List[int]:type m: int:type nums2: List[int]:type n: int:rtype: None Do not return anything, modify nums1 in-place instead.&qu…

大模型微调是否具有技术含量?或者说其技术含量究竟有多少?

有句老生常谈的话:一项工作是否具有技术含量取决于你怎么做,这在大模型(LLM)方向上尤其如此,因为与传统自然语言处理(NLP)相比,它的上手门槛变得更低了。 我来举些例子,…

基于微信小程序的剧本杀游玩一体化平台

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于微信小程序JavaSpringBootVueMySQL的剧…

pdf编辑器免费版哪个好用?8款pdf编辑软件推荐指南,从入门到精通!

在现代数字化办公中,PDF格式以其稳定及兼容性成为了文档分享的首选。然而,处理PDF文件时,您是否曾感到困惑,不知如何进行编辑?无论是添加文本、替换图像,还是压缩文件,找到合适的工具都是关键。…

算法设计与分析(最长公共子序列

目录 最长公共子序列问题描述代码实现输出结果注意事项 小结: 最长公共子序列 最长公共子序列(Longest Common Subsequence, LCS)问题是计算给定两个序列的最长子序列的长度,这个子序列不要求连续,但需要保持相同的相…

【QML】qml splash 启动界面 实现代码

1. 工程结构 2. 现象 3. 代码 3.1 main.cpp #include <QGuiApplication> #include <QQmlApplicationEngine>int main(int argc, char *argv[]) { #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); #…