当前位置: 首页 > news >正文

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

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了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 炫酷HTML蜘蛛侠登录页面
  • 裸金属服务器与云服务器的区别有哪些?
  • vue3路由基本使用
  • leetcode练习 子集II
  • uni-app实现web-view和App之间的相互通信
  • 思维训练900
  • windows系统安装docker
  • PostgreSQL - tutorial
  • TCP Analysis Flags 之 TCP ZeroWindow
  • 原型模式详细介绍和代码实现
  • 人工智能浪潮下,程序员如何锻造不可替代的核心竞争力?
  • Remix 学习 - @remix-run/react 中的主要组件
  • Maven 常见问题以及常用命令
  • 熵权法详细讲解+Python代码实现
  • RNN股票预测(Pytorch版)
  • .pyc 想到的一些问题
  • [译]Python中的类属性与实例属性的区别
  • [译]前端离线指南(上)
  • 【面试系列】之二:关于js原型
  • avalon2.2的VM生成过程
  • CSS魔法堂:Absolute Positioning就这个样
  • JS+CSS实现数字滚动
  • Lucene解析 - 基本概念
  • Mysql5.6主从复制
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Otto开发初探——微服务依赖管理新利器
  • Spring Cloud中负载均衡器概览
  • vue:响应原理
  • vue总结
  • 区块链将重新定义世界
  • 我从编程教室毕业
  • 我的zsh配置, 2019最新方案
  • 线上 python http server profile 实践
  • 想写好前端,先练好内功
  • 小程序开发中的那些坑
  • 做一名精致的JavaScripter 01:JavaScript简介
  • ​flutter 代码混淆
  • (007)XHTML文档之标题——h1~h6
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (Python) SOAP Web Service (HTTP POST)
  • (八)Flink Join 连接
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)计算机毕业设计高校学生选课系统
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)JAVA中的堆栈
  • (转)关于多人操作数据的处理策略
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • *** 2003
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • ../depcomp: line 571: exec: g++: not found
  • .bat文件调用java类的main方法
  • .NET 4.0中的泛型协变和反变
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Standard 的管理策略
  • .net 程序发生了一个不可捕获的异常