在Windows中使用NVM安装node.js

NVM介绍

Node.js版本管理器(Node Version Manager),简称NVM,是一款用于在单个系统上轻松安装和管理多个Node.js版本的命令行工具。它允许用户根据项目需求在不同版本之间自由切换,解决了因为不同项目依赖于不同Node.js版本带来的兼容性问题。

NVM的主要特点和功能包括:

  • 版本切换:用户可以在全局范围内快速切换到任意已安装的Node.js版本,只需执行一个简单的命令。

  • 安装指定版本:可以通过NVM安装任意发布的Node.js版本,包括稳定版、LTS版(长期支持版)和 nightly builds(每日构建版)。

  • 环境隔离:每个版本的Node.js及其关联的npm包都会安装在一个独立的目录中,不会相互干扰。

  • 便捷更新与卸载:可以方便地更新到最新版本或者卸载不再需要的Node.js版本。

  • 环境变量管理:在切换Node.js版本时,NVM会相应地更改系统的PATH环境变量,确保当前使用的shell窗口指向正确的Node.js和npm执行文件。

  • 跨平台支持:NVM适用于多种操作系统,包括Linux、macOS和Windows(通过第三方实现如nvm-windows)。

下载安装nvm-windows

在github上搜索nvm-windows,并进入releases页面找到如下链接

其中nvm-setup.exe是安装包下载,nvm-setup.zip是安装包的压缩包下载。这两个是一样的,启动安装包后,一路下一步就行,第一次选择的安装路径是nvm安装的路径,第二次选择的路径是node.js安装的路径。

至于nvm-noinstall.zip则是免安装的压缩包下载,解压缩后,需手动配置完环境变量,配置完后等效于安装包安装。

关于环境变量,下图是用安装包安装后,自动配置的效果(其实就是两次选择的路径)

配置

镜像地址

在中国等地区,由于网络原因,直接访问Node.js官方或npm官方仓库可能会遇到速度较慢的问题,因此许多开发者会选择使用国内的镜像源来加速Node.js和npm包的下载速度。以下是一些常用的国内镜像源:
清华大学开源软件镜像站(Tsinghua Open Source Mirror)

Node.js 镜像地址:https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/

npm 镜像地址:https://mirrors.tuna.tsinghua.edu.cn/npm/
npm镜像站

Node.js镜像地址: http://npmmirror.com/mirrors/node/

npm镜像地址:http://registry.npmmirror.com/mirrors/npm/
中国科学技术大学开源软件镜像站(USTC Open Source Software Mirror) :

npm 镜像地址:https://mirrors.ustc.edu.cn/npm/
阿里云NPM镜像

npm镜像地址:https://registry.npm.alibaba.com/
淘宝NPM镜像(TaoBao NPM Registry)

npm镜像地址:https://registry.npmmirror.com/

配置镜像

在nvm安装的根目录,有个setting.txt的配置文件

为nvm配置node.js的镜像地址与npm的镜像地址

添加两行代码

复制代码
node_mirror: http://npmmirror.com/mirrors/node/
npm_mirror: http://registry.npmmirror.com/mirrors/npm/

安装node.js

打开cmd窗口,输入nvm -v查看nvm是否正常安装,若显示版本号,则正常安装

查看当前node.js可用版本

bash 复制代码
nvm list available

这里选择一个最新LTS版本安装

复制代码
nvm install 20.12.0

以及一个最新版本的安装

复制代码
nvm install 21.7.0

再来看一下当前本地安装了哪些node.js版本

复制代码
nvm ls

版本切换

通过nvm use 命令可以切换node的版本,此时在%NVM_SYMLINK%位置(若不存在文件夹会创建快捷方式)出现当前使用版本的nodejs

使用nvm use 配合node -v看一下效果

复制代码
nvm use 20.12.0
node -v
nvm use 21.7.0
node -v

另外当使用nvm list命令查看本地安装的nodejs版本时,版本号前面带星号"*"的则是当前使用的版本

复制代码
nvm list
相关推荐
前端双越老师30 分钟前
【干货】使用 langChian.js 实现掘金“智能总结” 考虑大文档和 token 限制
人工智能·langchain·node.js
七仔的博客1 小时前
【摸鱼办公神器】七仔的桌面工具超进化 -> 灵卡面板 v1.1.9
windows·神器·摸鱼
码农阿豪2 小时前
Windows从零到一安装KingbaseES数据库及使用ksql工具连接全指南
数据库·windows
CC__xy10 小时前
demo 通讯录 + 城市选择器 (字母索引左右联动 ListItemGroup+AlphabetIndexer)笔记
windows
一枚小小程序员哈10 小时前
基于Vue + Node能源采购系统的设计与实现/基于express的能源管理系统#node.js
vue.js·node.js·express
海上彼尚12 小时前
使用 npm-run-all2 简化你的 npm 脚本工作流
前端·npm·node.js
开发者小天13 小时前
为什么 /deep/ 现在不推荐使用?
前端·javascript·node.js
一枚小小程序员哈14 小时前
基于Vue的个人博客网站的设计与实现/基于node.js的博客系统的设计与实现#express框架、vscode
vue.js·node.js·express
刘永胜是我16 小时前
node版本切换
前端·node.js
LZQqqqqo17 小时前
C# 中 ArrayList动态数组、List<T>列表与 Dictionary<T Key, T Value>字典的深度对比
windows·c#·list