配置nvm管理nodejs版本的环境详细教程【window版】

nvm( node.js version management) 是 Windows 系统下的一个 Node.js 版本管理工具,它是 Node Version Manager(nvm)的 Windows 版本,它是基于GO语言开发的工具。该工具允许你在 Windows 系统上轻松地安装、切换和管理多个 Node.js 版本。这对于开发人员来说是一个非常有用的工具,因为不同的项目可能需要不同版本的 Node.js。
官方仓库

nvm资源

在nvm的GitHub仓库,有详细的安装教程和常用命令教程说明,但全是英文,于是本文就应运而生了。本文是加上实际操作截图和详细步骤说明的,能帮助新手快速入门nvm插件。私聊获取更多前端资源哦,如有问题请评论留言,看到必回。

  • GitHub:https://github.com/coreybutler/nvm-windows
  • 版本列表:https://github.com/coreybutler/nvm-windows/tags

nvm 特性

以下是 nvm-windows 的一些主要特点和用法:

  1. 多版本支持: nvm-windows 允许用户在同一台机器上同时安装多个 Node.js
    版本。这对于处理不同的项目或兼容性要求非常有用;
  2. 简单切换: 使用 nvm-windows,你可以轻松地在已安装的 Node.js
    版本之间进行切换。这对于确保你的项目在不同环境中都能正常运行很重要;
  3. 自动环境变量配置: 安装 nvm-windows 后,它会自动配置系统环境变量,使你能够在命令行中直接使用 node 和npm,而不必担心不同版本之间的冲突;
  4. 简化 Node.js 安装: nvm-windows 提供一个简单的方式来安装、卸载和更新 Node.js。这可以避免手动下载和解压缩Node.js 安装包;
  5. 支持 32 位和 64 位: nvm-windows 可以在 Windows 的 32 位和 64
    位系统上正常工作,使其适用于各种环境;
  6. 集成 npm: nvm-windows 不仅管理 Node.js 版本,还会一同管理每个 Node.js 版本附带的 npm包管理工具。

nvm下载

nvm下载地址:
https://github.com/coreybutler/nvm-windows/releases/tag/1.1.12
点击仓库旁边的tag标签,找到最新版本1.1.12,点击进入即可。往下拖,找到 nvm-setup.exe,点击这个资源包,就会自动下载了。
在这里插入图片描述
谷歌浏览器下载完成后的样子。在这里插入图片描述
在这里插入图片描述

nvm安装

双击nvm-setup.exe安装,注意在nvm安装过程中会提示已安装过的nodejs,点击继续安装即可,不用担心。之所以选择nvm-setup.exe,是因为它会自动注入配置nvm环境变量,减少麻烦。

在这里插入图片描述

选择nvm安装目录。

在这里插入图片描述

选择nodejs存放目录。

在这里插入图片描述

点击安装nvm。

在这里插入图片描述

检查nvm系统环境变量是否生效。

在这里插入图片描述

检查nvm安装是否成功

打开cmd命令行弹窗,输入如下命令,查看nvm是否安装成功,如果正常显示表示安装成功。
在这里插入图片描述

nvm安装nodejs

查看nodejs官方可安装的版本列表。

nvm list available

在这里插入图片描述
选择要nodejs安装的版本进行安装,不需要指定36还是64位,nvm会自动识别并下载对应版本,这里以18.19.1版本为例。

nvm install version

在这里插入图片描述
如果要使用当前安装版本使用命令如下:

npm use 18.19.1

输入命令后回车即可。

卸载指定nodejs版本,必须指定nodejs的版本号。

nvm uninstall 20.5.8(version)

查看已安装的nodejs版本,使用下面命令,注意带星号的表示当前正在使用的nodejs版本。

nvm list

在这里插入图片描述
切换指定版本还是用

npm use 版本号

例如想要用20.8.0版本的nodejs,这样做:

npm use 20.8.0

在这里插入图片描述
查看本地磁盘下载的nodejs版本,安装nvm时选择的目录。这里选择放置nodejs文件的目录后并没有生效,nvm把下载的nodejs默认放到了nvm安装目录里面了。
在这里插入图片描述
查看setting.txt文件就能发现安装nvm选择的目录,建议这个目录不要修改了,省得出现环境问题。
在这里插入图片描述

nvm更多命令

在这里插入图片描述

配置nodejs环境变量

在系统变量里面指定nodejs版本目录即可,比如:v21.7.0的nodejs,获取目录路径复制到环境变量的系统变量的path路径后面即可,然后点击确定。注意:当nvm切换nodejs版本后,这个环境变量得跟着改成对应版本nodejs所在目录,否则vscode和cmd无法识别nodejs版本以及npm命令。然后在重启cmd或者vscode就可以正常使用nodejs了。
在这里插入图片描述

检查nodejs是否正常

在这里插入图片描述

其他配置

nodejs能正常使用之后,可以陆续增加其他配置了。

配置淘宝镜像源

npm config set registry https://registry.npmmirror.com

配置npm 依赖目录

根据实际需求放置即可,这里和node存放目录一致,方便查找。

npm config set prefix "D:\software\nodes\node_global"
npm config set cache "D:\software\nodes\node_cache"

安装nrm

nrm方便切换npm的镜像源。
在这里插入图片描述
查看镜像源,标星号的表示当前正在使用的镜像源地址。
在这里插入图片描述
切换镜像源地址。
在这里插入图片描述
好了,终于配置好nvm环境了。如果需要其他nodejs版本,就可以使用nvm来切换了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络编程套接字(1)—网络编程基础

目录 一、为什么需要网络编程? 二、什么是网络编程 三、网络编程中的基本概念 1、发送端和接收端 2、请求和响应 3、客户端和服务端 四、常见的客户端服务端模型 1、一问一答模型 2、一问多答模型 3、多问一答模型 4、多问多答模型 一、为什么需要网络编程? 为什么…

腾讯云学生服务器申请入口、续费优惠价格和常见问题解答

2024年腾讯云学生服务器优惠活动「云校园」,学生服务器优惠价格:轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年,轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年,CVM云服务器2核4G配置842.4元一年&…

好书安利:《大模型应用开发极简入门:基于GPT-4和ChatGPT》这本书太好了!150页就能让你上手大模型应用开发

文章目录 前言一、ChatGPT 出现,一切都变得不一样了二、蛇尾书特色三、蛇尾书思维导图四、作译者简介五、业内专家书评总结 前言 ​如果问个问题:有哪些产品曾经创造了伟大的奇迹?ChatGPT 应该会当之无愧入选。仅仅发布 5 天,Chat…

Web自动化测试—webdriver的环境配置

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

YOLOv9电动车头盔佩戴检测,详细讲解模型训练

向AI转型的程序员都关注了这个号👇👇👇 一、YOLOv9简介 YOLOv9是YOLO系列算法的最新版本。YOLO系列算法自2015年首次提出以来,已经在目标检测领域取得了显著的进展,以其快速和准确的特点而广受欢迎。 论文地址&#xf…

9款世界级垂直领域软件架构师Visio平替作图工具!

1 LucidChart 一个基于HTML5的在线流程图绘制和协作应用平台,用户可以通过它方便快速的实现流程图表的绘制,同时还可以实现与他人进行实时的流程图绘制和修改功能,对需要群组协作功能的团队来说,这点非常方便。 由于LucidChart是…

消息队列-Kafka-如何进行顺序消费

全局有序 只有 1 个分区,那这个时候就是能够保证消息的顺序消费。 分区有序 如果我们还是想同时消费多个分区并且保证有序,这个时候我们需要将需要保证顺序的消息路由到同一个分区。 在发送消息的时候我们可以看到: 上面的代码定义了消息…

别再找了,关于免费SSL证书都在这里

免费SSL证书的优点: 成本效益:免费SSL证书可以帮助网站所有者节省资金,特别是对于初创公司或个人网站来说,这是一个很大的优势。提高信任度:通过使用SSL证书,网站可以向访问者展示其对安全性的承诺&#x…

面试题之——事务失效的八大情况

事务失效的八大情况 一、非public修饰的方法 Transactional注解只能在在public修饰的方法下使用。 /*** 私有方法上的注解,不生效(因私有方法Spring扫描不到该方法,所以无法生成代理)*/ Transactional private boolean test() …

数据结构--堆

文章目录 一、堆的概念二、堆的创建三、堆的插入和删除四、堆的应用1.优先级队列2.堆排序3.TopK问题 一、堆的概念 对于一个关键码序列的集合来说,K{K0,K1,K2,K3…Kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足…

Vue中如何处理组件间的耦合问题?

在Vue中处理组件间的耦合问题是前端开发中常见的挑战之一。耦合问题指的是组件之间的依赖关系过于紧密,一旦某个组件发生改动,则可能导致其它组件也需要作出相应调整。为了解决这个问题,我们可以采取以下几种方法: 使用事件总线&…

riscv 栈空间静态分析

分析riscv架构的裸机代码中最大栈空间 riscv的基本过程调用标准 1.函数前8个参数用a0~a7传输 2.超过8个的参数使用栈传递 3.函数返回参数到a0,a1寄存器中,返回值保存在ra寄存器中 4.如果子函数有使用s0-s11寄存器,那么在使用前需要将这些寄存器的内…

django中静态资源配置

一&#xff1a;静态资源路径配置 在settins.py中INSTALLED_APPS属性是否存在django.contrib.staticfiles&#xff0c;如果没有加上 静态资源根目录配置 二&#xff1a;静态资源调用 #引入JS <script type"text/javascript" src"/static/js/test.js"&g…

实操keepalived(高可用)+Nginx(四层代理+七层代理),实现高可用、负载均衡以及动静分离

一 vrrp技术 VRRP 相关术语 VRRP能够在不改变组网的情况下&#xff0c;将多台路由器虚拟成一个虚拟路由器&#xff0c;i通过配置虚拟路由器的IP地址为默认网关&#xff0c;实现网关的备份。 协议版本: VRRPv2 (常用) 和VRRPv3:0 VRRPv2仅适用于IPv4网络&#xff0c;VRRPv3适用…

力扣日记3.6-【回溯算法篇】51. N 皇后

力扣日记&#xff1a;【回溯算法篇】51. N 皇后 日期&#xff1a;2023.3.6 参考&#xff1a;代码随想录、力扣 51. N 皇后 题目描述 难度&#xff1a;困难 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将…

【大数据】通过 docker-compose 快速部署 MinIO 保姆级教程

文章目录 一、概述二、MinIO 与 Ceph 对比1&#xff09;架构设计对比2&#xff09;数据一致性对比3&#xff09;部署和管理对比4&#xff09;生态系统和兼容性对比 三、前期准备1&#xff09;部署 docker2&#xff09;部署 docker-compose 四、创建网络五、MinIO 编排部署1&…

插件WebApiClient.JIT的使用方法

我们在项目开发过程中&#xff0c;经常需要调用第三方接口&#xff0c;使用httpclient需要写一堆代码&#xff0c;使用插件WebApiClient.JIT可以简化很多代码量&#xff0c;接下来介绍一下WebApiClient.JIT的使用方式。 添加引用&#xff0c;打开NuGet&#xff0c;查询插件&am…

vue3+element plus 实现百度地图显示路径

添加依赖 <!-- index.html --><script type"text/javascript" src"//api.map.baidu.com/getscript?v3.0&akyI6kBeC9G4LntEWXklE2iNHwRUrmFEQc"></script><script type"text/javascript" src"//api.map.baidu.co…

【python基础学习11课_异常机制】

一、异常 1、异常的定义 异常&#xff1a;程序无法继续执行异常会中断程序执行异常处理&#xff0c;是为了不中断程序执行。而不是避免错误。有些代码是报错就是要暴露出来有了异常机制&#xff0c;错误的代码报错后抛出异常&#xff0c;代码从上到下&#xff0c;报错代码后面…

【PCIe】初识PCIe

&#x1f525;博客主页&#xff1a;[PannLZ] &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 文章目录 PCIe简介PCIe速度 PCIe简介 计算机内部有很多电子元器件&#xff0c;他们之间会有数据沟通和传输的需求。如果A元件想给B元件传输数据&am…