在开发中,如果我们需要对2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS
运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个node版本之间切换。
1、nvm的作用和优点
-
版本管理:
- NVM允许用户在同一台机器上安装多个Node.js版本,并在不同的项目之间轻松切换。这对于需要支持不同Node.js版本的多项目开发非常有用。
-
独立环境: 每个版本的Node.js在各自的目录下独立存在,互不影响,通过nvm可以确保每个项目的开发或运行环境具有所要求的特定Node.js版本。
-
便捷安装与升级:
- 用户可以通过简单的命令行指令快速安装、更新、卸载Node.js版本,无需手动下载安装包或更改系统级别的环境变量设置。
-
全局与局部切换:
- 可以在全局层面设定一个默认的Node.js版本,同时也可以在特定项目根目录下使用.nvmrc文件指定项目使用的Node.js版本,使得进入该项目时自动切换到对应的版本。
-
简化协作与部署: 开发团队成员可以在各自环境中使用相同的Node.js版本,减少因版本差异导致的问题,同时也方便在生产服务器上安装并切换到所需的稳定版本。
-
支持多种操作系统: 虽然在Windows平台上通常使用NVM for Windows等类似的工具,但在*nix系统(如Linux和macOS)中,NVM原生支持更广泛且易于集成到shell环境中。
-
降低风险: 由于可以在不干扰其他项目的情况下测试新版本的Node.js,因此降低了因升级Node.js带来的潜在破坏性影响的风险。
总结来说,NVM极大地方便了Node.js开发者进行版本控制,提高了开发效率,有助于维护软件质量和稳定性。
2、nvm的详细安装步骤
1. 卸载已存在的全局Node.js安装(如果有的话):
- 卸载全局Node.js:打开控制面板,选择"程序"或"卸载程序",找到已安装的Node.js,然后卸载它。
- 清理环境变量 :确保与Node.js相关的所有环境变量(如
PATH
中的Node.js可执行文件路径)(配置的NODE_PATH路径等)已被移除。
注意:安装Node Version Manager (NVM) 时,如果电脑上已经存在全局安装的Node.js版本,理论上可以同时安装NVM,但实际上可能会遇到一些问题或冲突。为了避免潜在的兼容性问题和确保NVM能够正确管理不同版本的Node.js,所以建议在安装NVM前先卸载已安装的全局Node.js。
2. 下载nvm for Windows:
- 访问nvm for Windows的GitHub发布页面:github.com/coreybutler...
- 在该页面找到最新版本的
nvm-setup.zip
文件并下载到本地。 - 如图:
3. 解压、安装及验证:
- 解压缩下载好的
nvm-setup.zip
文件。 - 以管理员身份运行解压得到的
nvm-setup.exe
安装程序。 - 在安装过程中,确保选择一个路径不含空格的目录作为安装路径,例如
D:\nvm
。 - 安装程序会自动配置系统环境变量,如
NVM_HOME
和NVM_SYMLINK
,并且将nvm加入到系统的PATH中以便全局使用。
注意 :这里推荐使用默认路径进行安装(默认是安装在C盘的,安装就不需要配置环境变量,可以直接使用),如果想要更改安装路径,安装在其它盘的话,则需要配置相应的环境变量。还有一点重中之重:安装路径中不能有中文文件夹名称!(我就在这个地方踩坑了~)
我电脑只有C盘,所以就安装在C盘里面了~
直接install安装就可以,安装完成后,win+R,输入cmd打开命令行面板,输入 nvm -v
出现了版本号,说明已经安装成功了,接下来需要去检查一下环境变量是否自动配置上了:
打开我的电脑==》右键》属性》高级系统设置》环境变量
打开就已经显示已经存在这些环境变量了,安装时就自动配置上了,前提是要用管理员身份运存nvm安装程序。
4. 开始使用nvm:
以下是NVM for Windows的部分命令及其用途:
nvm arch
: 显示当前运行的Node.js是32位还是64位模式。nvm current
: 显示当前激活的Node.js版本。nvm debug
: 检查NVM for Windows进程是否存在已知问题(故障排查)。nvm install <version> [arch]
: 安装指定版本的Node.js,可以是具体版本号、"latest"(最新稳定版)或 "lts"(最新长期支持版)。可选参数[arch]用于指定安装32位或64位版本,默认与系统架构相同。添加--insecure
参数可绕过SSL验证远程下载服务器。nvm list [available]
: 列出已安装的Node.js版本,如果加上"available",则会显示所有可安装的版本。nvm on/off
: 启用/禁用Node.js版本管理。nvm proxy [url]
: 设置用于下载的代理服务器,留空查看当前代理,设置为 "none" 可移除代理。nvm node_mirror/npm_mirror [url]
: 设置Node.js/npm镜像地址,不填则使用默认地址。nvm uninstall <version>
: 卸载指定版本的Node.js。nvm use [version] [arch]
: 切换使用指定版本的Node.js,可以使用"latest"、"lts"或"newest"(最新已安装版本),并可选指定32/64位架构。nvm root [path]
: 设置NVM存储不同版本Node.js的目录,不设置[path]时将显示当前根目录路径。nvm --version/v
: 显示当前NVM for Windows的版本号。
在命令行中输入 nvm list available 查看所有可安装版本:
选择自己所需要的版本,然后进行安装,我这里安装长期支持版本 18.12.1,在命令行输入 nvm install 18.12.1
执行完显示这样就代表安装成功了,但是现在输入 node -v 会显示错误,说明Node.js已经安装,但当前终端环境并未识别到它。此时我们需要执行:nvm use 18.12.1 --default
:
注意:这个命令将会把Node.js v18.12.1设置为默认版本,但是需要重新打开一下命令行面板才可以使用。
重启命令行面板后输入 node -v
、npm -v
可以正常显示版本号,说明已经成功了~
18.12.1版本对于之前的老项目来说有点高了,我们用nvm安装一个低版本的。打开node.js查看历史版本,我这里就用 v16.20.2 举例:
已经切换成功,可以正常使用了,非常方便!!!