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常见故障 导…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...
StarRocks 全面向量化执行引擎深度解析
StarRocks 全面向量化执行引擎深度解析 StarRocks 的向量化执行引擎是其高性能的核心设计,相比传统行式处理引擎(如MySQL),性能可提升 5-10倍。以下是分层拆解: 1. 向量化 vs 传统行式处理 维度行式处理向量化处理数…...
python数据结构和算法(1)
数据结构和算法简介 数据结构:存储和组织数据的方式,决定了数据的存储方式和访问方式。 算法:解决问题的思维、步骤和方法。 程序 数据结构 算法 算法 算法的独立性 算法是独立存在的一种解决问题的方法和思想,对于算法而言&a…...
在MobaXterm 打开图形工具firefox
目录 1.安装 X 服务器软件 2.服务器端配置 3.客户端配置 4.安装并打开 Firefox 1.安装 X 服务器软件 Centos系统 # CentOS/RHEL 7 及之前(YUM) sudo yum install xorg-x11-server-Xorg xorg-x11-xinit xorg-x11-utils mesa-libEGL mesa-libGL mesa-…...
