使用nvm工具实现多个nodejs版本的维护和切换

news2024/12/23 10:51:32

NodeJS的升级比较快,在开发中要使用最新的版本,必须经常升级,但对于一些老项目可能又要使用低版本的NodeJS,虽然可以在系统中同时安装多个NodeJS的版本,然后通过修改环境变量的方式实现切换,但这种方法太麻烦。使用nvm工具可以方便的管理下载的NodeJS版本,并通过命令实现NodeJS版本的快速切换。

一、下载

下载地址:https://pan.quark.cn/s/f11352426d59

二、安装

1、解压后得到nvm-setup.exe文件。右键“以管理员身份运行”。

2、在此页面中勾选“I accept the agreement”,同意协议,点击“Next”

3、设置nvm的安装目录,注意路径不要有空格、特殊符号等,最后是全小写字母。点击“Next”

4、此处设置nvm切换的当前版本NodeJS的存储目录。点击“Next”

5、点击“Install”等待安装完成

二、配置

1、环境变量

如果之前已安装了NodeJS,需要删除Path中的根路径,如在《NodeJS的安装和运行配置》这章中NodeJS的安装路径是D:\program\server\nodejs\v18.16.0,因此需要在环境变量的path中把此路径删除

2、修改nvm的配置文件settings.txt

1)修改root路径为NodeJS的安装目录,即此目录下为所有版本的NodeJS,如示例的root目录 为D:\program\server\nodejs,全局插件和缓存,以及对应版本的NodeJS都在此目录下。

注意:

    要使此目录下原来的NodeJS能自动加入到nvm管理中,其名称必须为“v + 版本号”

2)添加node和npm和版本的下载镜像,

node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

三、使用

1、检查是否安装成功

打开cmd,输入以下命令,如果能正确显示版本号,则表示安装成功

nvm -v

2、查看当前已安装的NodeJS列表

nvm list

3、查看线上提供的可供下载的NodeJS版本

nvm list available

4、下载指定版本的NodeJS,如20.17.0

nvm install 要下载的版本号

此进新版本的NodeJS已下载到目录下。

5、切换版本

1)如果是才安装成功,此时node命令是无法使用的

2)切换到指定版本

nvm use 要切换的版本号

此处示例为18.16.0,

切换后,会把v18.16.0目录创建一个快捷方式,名称为current

此时再使用node -v 可以看到正确的版本号

由于nvm线上最低只提供18.x版本的下载,如果是要使用更低本的NodeJS,可以下载对应版本的压缩包,然后解压到NodeJS的安装目录下,并把此版本的名称改成“v + 版本号”的形式,比如“v16.12.0”,这样nvm就可以自动识别此版本的NodeJS了。

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

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

相关文章

断点回归模型

断点回归(Regression Discontinuity Design, RDD)是一种准实验设计方法,用于评估政策或其他干预措施的效果。这种方法利用了一个清晰的阈值或“断点”,在这个阈值上,处理状态(例如是否接受某种干预&#xf…

浅谈为什么数据库要用B树

朋友,你有没有遇到过这样的情况?明明数据库里存的东西还不算太多,可一查数据,页面加载慢得像蜗牛?别急,问题可能出在你的数据库索引上。而今天我要跟你聊的,就是在数据库里被广泛应用的B树(B-Trees),它可是提升数据库性能的秘密武器。听起来有点深奥?别担心,我会用…

C程序设计——再说说函数参数的值传递

上一篇的最后,我强调了C语言里,所有函数参数的传递,都是值传递,即形参值改变,不影响实参的值。 指针作为函数参数 我们知道,指针也是C语言的一个类型,所以指针,也可以作为函数参数…

【TPAMI 2024】一种用于混合事件-帧摄像机的异步线性滤波器架构

题目:An Asynchronous Linear Filter Architecture for Hybrid Event-Frame Cameras 一种用于混合事件-帧摄像机的异步线性滤波器架构 作者:Ziwei Wang; Yonhon Ng; Cedric Scheerlinck; Robert Mahony 摘要 事件相机非常适合捕捉高动态范围(HDR)视觉…

运维保障高效化的智慧能源开源了

一、简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,减少企业级应用约 95%的开发成本,在强大视频算…

【python因果推断库13】使用 PyMC 模型进行回归断点分析

目录 线性模型、主效应模型和交互作用模型 使用bandwidth 使用基样条 import causalpy as cp %load_ext autoreload %autoreload 2 %config InlineBackend.figure_format retina seed 42 df cp.load_data("rd") 线性模型、主效应模型和交互作用模型 PyMC 采样…

教学辅助微信小程序|基于SSM+vue的高校教学微信小程序系统(源码+数据库+文档)

高校教学 目录 基于SSM教学辅助微信小程序 一、前言 二、系统设计 三、系统功能设计 小程序端 后台功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&#x…

【Python】01.Python 介绍及其环境配置

一、计算机的基础概念 1.1 什么是计算机 所谓计算机,不光能进行算术运算,还能进行逻辑判断、数据存储、网络通信等等功能,以至于可以自动的完成非常复杂的工作。以下这些都可以称为 “计算机” : 1.2 冯诺依曼体系结构 而一台…

媒体服务器软件BUG说明及改进方案

媒体服务器软件BUG说明及改进方案 一、BUG描述二、问题分析三、改进方案四、实施计划五、预期效果六、总结一、BUG描述 在当前版本的媒体服务器中,存在一个关于静音媒体流处理的问题。具体表现为:当主叫连续发送静音帧到媒体服务器时,媒体服务器并未将这些静音帧转发给被叫…

闯关leetcode——13. Roman to Integer

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/roman-to-integer/description/ 内容 Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. SymbolValueI1V5X10L50C100D500M1000 For example, 2 is written …

CVE-2024-37032-Ollama漏洞

简介 Ollama是一个专为在本地环境中运行和定制大型语言模型而设计的工具。它提供了一个简单高效的接口,用于创建、运行和管理这些模型,同时还提供了一个丰富的预构建模型库,可以轻松集成到各种应用程序中。Ollama的目标是使大型语言模型的部…

Redis——初识Redis

初识Redis Redis认识Redis 分布式系统单机架构为什么要引入分布式理解负载均衡数据库的读写分离引入主从数据库 引入缓存数据库分库分表业务拆分——微服务常见概念了解 Redis背景介绍特性应用场景Redis不能做的事情Redis客户端redis客户端的多种形态 Redis 认识Redis 存储数…

flow model

https://www.youtube.com/watch?vuXY18nzdSsMcomponent by component(auto regresive)的生成模型存在的问题(生成的顺序,生成的速度慢);variational auto-encoder存在的问题(optimize a maxihood lower bound,是一个近似);genera…

【机器学习】隐马尔可夫模型的基本概念和应用领域以及在NLP中如何实现(含python代码)

引言 隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计模型,用于描述一个含有隐含状态的马尔可夫过程 文章目录 引言一、隐马尔可夫模型的基本概念1.1 HMM的基本组成1.2 HMM的三个基本问题1.3 解决HMM问题的算法1.4 在python中…

Linux 安装神州通用数据库 ShenTong7.0.8_342.92_linux64

Linux 安装神州通用数据库 ShenTong7.0.8_342.92_linux64 1、准备工作2、安装数据库3、启停数据库4、后续步骤 💖The Begin💖点点关注,收藏不迷路💖 在Linux环境下安装神州通用数据库(ShenTong)是一个相对直…

如何通过 Apache Camel 将数据导入 Elasticsearch

作者:来自 Elastic Andre Luiz 使用 Apache Camel 将数据提取到 Elasticsearch 的过程将搜索引擎的稳健性与集成框架的灵活性相结合。在本文中,我们将探讨 Apache Camel 如何简化和优化将数据提取到 Elasticsearch。为了说明此功能,我们将实…

5G网络建设

题目描述 现需要在基城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N,接下来需要各个基站之间使用光纤进行连接以确保基 站能互联互通,不同基站之间假设光纤的成本各不相同,且有些节点之间已经存在光纤…

8个动态着陆页案例及最佳实践

动态着陆页是一种让市场营销人员在不必因成百上千变量而抓狂的情况下,利用个性化力量的绝佳方式,从而让他们能够扩大努力并增长业务。使用像光年AI这样的平台,可以更方便地实现这一目标。 在这篇文章中,您将了解到: …

非监督式机器学习:群集

聚类分析是一种非监督式机器学习形式,在此形式下,基于观察值的数据值或特征的相似性,将观察值分组到群集中。 这种就是非监督式机器学习,因为它不使用先前已知的标签值来训练模型。 在聚类分析模型中,标签是群集&#…

【Nacos】健康检查与环境隔离

1. 健康检测 1.1 两种健康检查机制 Nacos作为注册中心,需要感知服务的健康状态,才能为服务调用方提供良好的服务 Nacos 中提供了两种健康检查机制: 1. 客户端主动上报机制 客户端通过心跳上报方式告知服务端(nacos注册中心)健康状态,默认心跳间隔5秒:nacos会在超过15秒未收…