Node.js 安装与版本管理(nvm 的使用)
安装 Node.js
Node.js 诞生于 2009 年 5 月,截至今天(2022 年 3 月 26 号)的最新版本为 16.14.2 LTS 和 17.8.0 Current,可以去官网下载合适的版本。

其中,LTS(Long Term Support) 是长期维护版本,它可能不包含一些最新的特性,但是相对稳定,存在的 bug 也会得到及时的修复,如果是要正式上线的项目,推荐使用此版本;
Current 是最新版本,更新频次较快(比如我开始写这篇文章的时候还是 17.7.2,过了几天准备发布时发现已经是 17.8.0 了),包含 Node.js 最新的特性,如果是出于学习研究的目的,建议选择该版本。
直接点击对应的按钮即可下载,如果想下载其它版本则可以点击按钮下方的“Other Downloads”进入下载页,Windows 系统选择 .msi,macOS 系统选择 .pkg:

下载下来安装包直接按提示安装即可。在安装的过程中,会自动帮我们配置环境变量以及安装 Node 包管理工具 npm(Node Package Manager)。 配置环境变量是为了让我们使用命令行时可以在任意位置调用 Node.js。因为当我们想在命令行窗口打开某个文件或调用某个程序时,系统会首先在当前目录下寻找,如果找不到则会沿着环境变量 path 中配置的路径依次寻找。安装完成后,可以直接在命令行输入:
:查看Node.js版本 node --version 或者 node -v:查看npm版本 npm --version 或者 npm -v
如果返回了版本号,则说明安装成功。
nvm / nvm-windows
介绍
在工作中,你可能遇到过某个项目需要高版本的 node 才能运行,而有的项目可能只支持低版本的 node,此时就可以借助于一些 Node 版本管理工具,比如 nvm(Node Version Manager),帮助我们快速在不同的版本间切换。请注意,nvm 正如其 github 仓库所言,并不能很好的直接支持 Windows 系统:

所以,使用 Windows 系统的我选择使用其推荐的 nvm-windows 来管理 Node.js 版本。 在安装 nvm-windows 前,如果你的电脑中已经安装了 Node.js,那么可以选择卸载,也可以选择不卸载。因为在安装 nvm-windows 的过程中其会询问你是否需要将已安装的 Node.js 版本交由其管理。
安装步骤
- 下载
可以去其 github 主页下在,地址为 github.com/coreybutler… 会看到有很多个文件可供选择:

这里稍做下解释:
- nvm-noinstall.zip: 这个是绿色版本,不需要安装,但是使用之前需要配置环境变量;
- nvm-setup.zip:推荐下载这个包,无需配置就可以使用;
- Source code(zip):zip 压缩的源码;
- Sourc code(tar.gz):tar.gz 的源码,一般用于 *nix 系统。
- 安装
安装时都按默认配置点下一步即可,注意 nvm 和 Node.js 的放置位置要选择不同的文件夹。安装结束后按 win + R 调出运行窗口,输入 cmd 打开命令行工具,输入 nvm, 查看是否有返回类似下图这样的内容:

若有则代表安装成功,若提示 nvm 不是内部或外部命令,可以关掉命令行工具后重行打开尝试一次。
- 配置镜像
直接通过 nvm 下载 node 可能需要消耗比较长的时间,所以我么可以设置 nvm 的淘宝镜像。
方法一:可以直接修改安装 nvm 文件目录下的 settings.txt 文件,在里面加上下面两句话: node_mirror: npm.taobao.org/mirrors/nod…
npm_mirror: npm.taobao.org/mirrors/npm…
因为在安装 node 时需要安装 npm,所以 npm 的镜像也需要设置。
方法二:可以直接在命令行输入:
nvm node_mirror https://npm.taobao.org/mirrors/node/
nvm npm_mirror https://npm.taobao.org/mirrors/npm/
注意镜像地址最后的 / 最好不要省略。
- 安装 Node.js
安装前可以通过:
nvm list
查看已安装管理的 node 版本;
还可以通过:
nvm list available
查看哪些 node 版本是可以安装的:

安装最新版本的 Node.js,也就是 Current 版本:
nvm install latest
安装最新的 LTS 版本:
nvm install lts
如果遇到如下提示:

可以直接指定具体版本号安装:
nvm install 16.14.2
注意,Downloading 代表正在下载,Installation complete 代表安装结束。

- 切换node版本 安装结束后通过
nvm ls查看所有安装的 node 版本,前面有个 * 号的代表的是当前使用的 node 版本:
比如我们想切换到 17.7.2 的版本:
nvm use 17.7.2
运行完以后,node 就会切换到 17.7.2。请注意,Node.js 如果大于 13.6.0 以上的版本不再支持 win7 系统,至少需要将系统升级到 win8 才能使用。
删除不需要的版本
比如我们想删掉低版本的 10.13.0,可以通过:
nvm uninstall 10.13.0
参考文章:
Node.js 安装与版本管理(nvm 的使用) - 掘金 (juejin.cn)
相关文章:
Node.js 安装与版本管理(nvm 的使用)
安装 Node.js Node.js 诞生于 2009 年 5 月,截至今天(2022 年 3 月 26 号)的最新版本为 16.14.2 LTS 和 17.8.0 Current,可以去官网下载合适的版本。 其中,LTS(Long Term Support) 是长期维护…...
SpringBoot项目中使用Lombok插件中Slf4j日志框架
前言:idea需要安装lombok插件,因为该插件中添加了Slf4j注解,可以将Slf4j翻译成 private static final org.slf4j.Logger logger LoggerFactory.getLogger(this.XXX.class); springboot本身就内置了slf4j日志框架,所以不需要单独…...
VS下开发Qt应用环境搭建
VS下开发Qt应用环境搭建 版本说明环境搭建步骤QT新增组件重新安装QTVS中的配置 版本说明 vs2019 QT5.14 我之前是按照QT基础组件的安装,但是这个安装只是最基础的组件,如果想要在VS中使用QT,还得安装其他组件,下面的安装流程、 …...
Python实现GA遗传算法优化循环神经网络分类模型(LSTM分类算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 遗传算法(Genetic Algorithm,GA)最早是由美国的 John holland于20世…...
Spring源码:Spring运行环境Environment
Spring运行环境 Spring在创建容器时,会创建Environment环境对象,用于保存spring应用程序的运行环境相关的信息。在创建环境时,需要创建属性源属性解析器,会解析属性值中的占位符,并进行替换。 创建环境时,…...
SpringBoot使用PropertiesLauncher加载外部jar包
Springboot启动入口源码 默认是org.springframework.boot.loader.JarLauncher <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-loader</artifactId> </dependency>启用SpringBoot的PropertiesLaunche…...
骑行 - 出发前如何准备
现在路上经常见到武装完备的自行车骑手,一般是公路车,出来骑个几十公里是很正常的。出来骑车是个很快乐的事,但出发前还是有许多需要准备的。 最开始,要评估一下天气情况,出车前看下外面天气情况以及预报。提前几天计划…...
ssm员工管理系统
ssm员工管理系统 java员工管理系统 员工管理系统 运行环境: JAVA版本:JDK1.8 IDE类型:IDEA、Eclipse都可运行 数据库类型:MySql(8.x版本都可) 硬件环境:Windows 功能介绍: 1.用户…...
《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(16)-Fiddler如何充当第三者再识AutoResponder标签-上
1.简介 Fiddler充当第三者,主要是通过AutoResponder标签在客户端和服务端之间,Fiddler抓包,然后改包,最后发送。AutoResponder这个功能可以算的上是Fiddler最实用的功能,可以让我们修改服务器端返回的数据,…...
Yolov8新版本解读:优化点如何加入新版本,通过加入EMA注意力进行对比说明
本文目的: 最近yolov8进行了一次较大的更新,对一些优化点加在哪个位置上有些变动,因此本文主要通过具体案列进行对比和说明,以便在新版本上能够轻松上手。 老版本 ultralytics/nn 新版本更新为: modules文件夹下内容如下: 解读: 将modules.py拆分为 1.__init__.…...
NoSQL———Redis配置与优化
目录 一、关系数据库与非关系型数据库 1.1 关系型数据库 1.2 非关系型数据库 1.3 关系型数据库和非关系型数据库区别 1.3.1 非关系型数据库产生背景 二、Redis简介 2.1 redis优点: 三、Redis 安装部署 四、Redis 命令工具 4.1 redis-cli 命令行工具 …...
js,瀑布流
该方法仅满足,元素等宽,高度一般不同的瀑布流布局 计算元素宽度与浏览器宽度之比,得到布局列数;将未布局的元素依次布局至高度最小的那一列;页面滚动时继续加载数据,动态地渲染在页面上。 <div id&quo…...
“深入了解Spring Boot:从入门到精通“
标题:深入了解Spring Boot:从入门到精通 摘要:本文将介绍Spring Boot的基本概念、特性和优势,以及如何使用Spring Boot来开发Java应用程序。通过深入学习Spring Boot的核心组件和常用功能,读者将能够熟练运用Spring B…...
记录时间计算bug getDay()的一个坑
最近在使用时间计算展示当天所在这一周的数据 不免要获取当前时间所在周 // 时间格式整理函数 function formatDate(date) {const year date.value.getFullYear(),month String(date.value.getMonth() 1).padStart(2, 0),day String(date.value.getDate()).padStart(2, 0)…...
【lesson5】linux vim介绍及使用
文章目录 vim的基本介绍vim的基本操作vim常见的命令命令模式下的命令yypnyynpuctrlrGggnG$^wbh,j,k,lddnddnddp~shiftrrnrxnx 底行模式下的命令set nuset nonuvs 源文件wq!command(命令) vim配置解决无法使用sudo问题 vim的基本介绍 首先vim是linux下的…...
【玩转Linux】Linux输入子系统简介
(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…...
grid map学习笔记2之grid map的一些常规定义和功能包说明
文章目录 0 引言1 常规定义1.1 单层grid map1.2 多层grid map1.3 迭代器类别1.4 移动grid map的位置 2 功能包2.1 grid_map_rviz_plugin2.2 grid_map_sdf2.3 grid_map_visualization2.3.1 订阅的主题2.3.2 发布的主题 2.4 grid_map_filters 0 引言 grid map学习笔记1已成功在U…...
Python-文件操作
Python文件操作 1. 打开文件 使用open()函数打开文件,指定文件名和模式,常用模式有: r - 读取(默认)w - 写入(会先截断文件)a - 追加b - 二进制模式t - 文本模式(默认) - updating (reading and writing) f open(data.txt,r) # 打开data.txt文件用于读取2. 读取文件 f.re…...
windows中注册redis服务启动时报1067错误
注册完redis服务,打开计算机 服务时确实有redis服务存在,但是点击启动时却报1067错误,而命令行用redis-server.exe redis.windows.conf 命令却也可以启动 查看6379的端口也没有被占用(netstat -ano | findstr :6379) …...
大数据面试题:HBase的RegionServer宕机以后怎么恢复的?
面试题来源: 《大数据面试题 V4.0》 大数据面试题V3.0,523道题,679页,46w字 可回答:1)HBase一个节点宕机了怎么办;2)HBase故障恢复 参考答案: 1、HBase常见故障 导…...
如何永久珍藏你的微信数字记忆?WeChatMsg让聊天记录成为永恒财富!
如何永久珍藏你的微信数字记忆?WeChatMsg让聊天记录成为永恒财富! 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/Gi…...
ArcSWAT建模踩坑记:你的土壤数据库参数算对了吗?聊聊SPAW的那些默认值和单位陷阱
ArcSWAT土壤参数校准实战:避开SPAW计算中的5个致命误区 当水文模拟结果与实测数据出现系统性偏差时,经验丰富的建模者会首先检查土壤参数——这个隐藏在界面背后的"沉默变量"往往是误差的最大来源。SPAW作为ArcSWAT推荐的土壤参数计算工具&…...
AI Agent Harness Engineering 产品经理指南:如何定义智能体的“人设”与能力边界?
AI Agent Harness Engineering 产品经理指南:如何定义智能体的「人设」与能力边界 关键词:AI Agent、智能体管控工程(Harness Engineering)、产品经理、人设对齐、能力边界、智能体治理、生成式AI落地 摘要 随着生成式AI技术的成熟,AI Agent已经从概念验证阶段进入大规…...
从8K游戏到HDR电影:拆解Xilinx HDMI 2.1 IP如何支持VRR、ALLM和动态HDR这些炫酷特性
从8K游戏到HDR电影:Xilinx HDMI 2.1 IP如何重塑视听体验 当PS5玩家在《战神:诸神黄昏》中感受到无撕裂的流畅战斗画面,或是家庭影院爱好者在《沙丘》中看到沙漠场景的每一粒沙粒都呈现出惊人的动态范围时,背后都离不开HDMI 2.1的关…...
如何通过Jellyfin Android TV客户端打造家庭影院级媒体体验?
如何通过Jellyfin Android TV客户端打造家庭影院级媒体体验? 【免费下载链接】jellyfin-androidtv Android TV Client for Jellyfin 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-androidtv 想要在智能电视上享受专业的媒体管理体验吗?…...
【C语言】printf格式化输出:你真的理解“四舍五入”的陷阱吗?
1. 从printf的"四舍五入"陷阱说起 那天我在调试一个财务计算程序时,发现金额显示总差那么几分钱。比如3.145元应该显示为3.15,但程序输出却是3.14。这让我想起刚学C语言时踩过的坑——printf的格式化输出并不像数学课教的四舍五入那样简单。 先…...
揭秘Midjourney“树胶重铬酸盐”风格指令:3步精准触发古典印相质感,92%用户从未用对的隐藏参数组合
更多请点击: https://intelliparadigm.com 第一章:树胶重铬酸盐工艺的光学原理与数字映射本质 树胶重铬酸盐(Gum Bichromate)工艺是19世纪末发展起来的经典光敏印相技术,其核心光学原理基于重铬酸盐在紫外光照射下发生…...
【仿真学习框架】HoloMotion 从入门到精通:全身人形控制 Foundation Model 完全指南
HoloMotion 从入门到精通:全身人形控制 Foundation Model 完全指南 目标读者:具身智能研究者、人形机器人开发者、RL/机器人学习工程师 目录 第1章 HoloMotion 全景概览 1.1 什么是 HoloMotion 1.2 技术定位:"小脑"基座模型 1.3 4-Any 愿景与路线图 1.4 核心能力矩…...
CircuitPython与NeoPixel实战:从硬件连接到动态灯光效果
1. 项目概述:用Python点亮你的硬件创意如果你玩过Arduino,可能会觉得C/C的语法和库管理有点门槛;如果你熟悉Python,又觉得它和硬件之间隔着一层纱。那么,当Raspberry Pi Pico这块性价比极高的微控制器,遇上…...
基于WebSocket的机械爪远程控制桥接系统设计与实战
1. 项目概述:一个连接物理世界与数字世界的“机械爪”远程控制桥最近在捣鼓一个挺有意思的开源项目,叫lucas-jo/openclaw-bridge-remote。光看名字,你可能觉得这又是一个关于机器人或者机械臂的遥控项目,但实际深入进去࿰…...
