Windows上安装nvm和nodejs

1. 前言

Node Version Manager (NVM) 是一种广泛使用的工具,允许开发人员在单台计算机上管理 Node.js 的多个版本。它的重要性怎么强调都不为过,因为 Nodejs 应用程序有时可能是依赖特定版本运行,然而不同的项目可能需要不同的 Nodejs 版本。NVM 提供的灵活性确保了不同项目同时运行在同一台机的开发过程的顺利进行,允许开发人员在 Node 版本之间无缝切换。在 windows 上,有多种安装 NVM 的方法,但最流行、最有效的方法之一是使用 Chocolatey,这是微软出品的包管理器。

本指南将引导您完成使用讲述在 windows 上安装 NVM 的详细步骤,让您轻松设置灵活的 Node.js 开发环境。

2. 先决条件

3. 删除现有Nodejs版本

如果您的系统已经安装了节点,请先将其卸载。我的系统已经通过 Homebrew 安装了节点。所以先卸载它。如果尚未安装,请跳过。

1
2
3
4

choco uninstall node
choco uninstall --force node

如果是通过windows软件安装包例如msi安装的, 可以参考我的博客安装并配置nodejs尾部 - 在Windows上卸载nodejs 章节所述的方法删除Nodejs.

4. 在Windows上安装NVM

以管理员身份打开PowerShell, 执行如下命令就可以松安装 NVM:

1
2
3
choco install nvm.install
#或者
choco install nvm.install --version 1.1.11

说明: 截至2023-11-01, 当前最新版本为1.1.11

安装过程需要一些魔法, 想要获取魔法可以访问鹏叔的博客空间首页.

安装后的nvm可以在C:\ProgramData\nvm找到对应的可执行文件.

接下来普通用户的身份打开Powershell,在用户主目录中创建一个 .nvm 目录

1
mkdir $HOME/.nvm 

在.nvm目录下创建settings.txt, 内容如下

1
2
3
4
5
6

root: $HOME\.nvm
path: $HOME\.nvm
arch: 64
proxy: none

现在,配置所需的环境变量。在用户主目录中编辑以下配置文件

1
notepad $PROFILE

这个命令会打开PowerShell配置文件(如果还没有创建, 则会提示是否创建新文件). 随后在文件中添加如下内容:

1
2
3
4
5
6
7
8
9

# 配置NVM_HOME环境变量, nvm在管理Nodejs时依赖此变量指定的路径
$env:NVM_HOME = "$HOME\.nvm"
[Environment]::SetEnvironmentVariable("NVM_HOME", $env:NVM_HOME, [EnvironmentVariableTarget]::User)

# 将$HOME\.nvm添加到执行文件查找路径
$env:PATH += ";C:\ProgramData\nvm;$HOME\.nvm"
[Environment]::SetEnvironmentVariable("PATH", $env:PATH, [EnvironmentVariableTarget]::User)

重新打开powershell, 检查设置是否生效

1
$ENV:NVM_HOME

如果报错execution policy的问题, 可以修改execution policy, 以管理员身份执行 Set-ExecutionPolicy RemoteSigned

5. 使用 NVM

首先,查看可以安装哪些 Node 版本。要查看可用版本,请键入:

1
2
3

nvm list available

现在,您可以安装上面输出中列出的任何版本。您还可以使用别名,例如node表示最新版本,lts表示最新 LTS 版本等。

1
2
3
nvm install node     ## 安装最新版本
# 或者
nvm install 17 ## 安装 Node.js 17.X 版本

安装后,可以验证安装的内容:

1
nvm ls 

如果您的系统上安装了多个版本,您可以随时将任何版本设置为默认版本。要将节点 18.X 设置为默认版本,只需使用:

1
2
3

nvm use 17

同样,您可以安装其他版本(例如 Node 12、15 和 18 版本)并在它们之间切换。

6. 配置Nodejs

由于不知名的原因, 国内访问npm仓库会很慢, 所以需要设置镜像, 淘宝为我们提供了很好的镜像源.

1
2
3
4
5
6
7
8
9
10
设置淘宝镜像
npm config set registry https://registry.npmmirror.com
# 或者使用华为镜像
# npm config set registry https://mirrors.huaweicloud.com/repository/npm/
# 或者使用腾讯镜像
# npm config set registry http://mirrors.cloud.tencent.com/npm/
// 配置后可通过下面方式来验证是否成功
npm config get registry
// 或
npm info express

7. troubleshooting

问题1: 当安装任何一个版本时都出现”The system cannot find the path specified.”

1
2
3
4
5
$ nvm install 17
could not be found or does not exist. Exiting.
Downloading node.js version 17.9.1 (64-bit)...
Error while creating \v17.9.1\node.zip - open \v17.9.1\node.zip: The system cannot find the path specified.
Could not download node.js v17.9.1 64-bit executable.

解放办法
这是由于nvm读取不到配置项目root, 可以使用nvm root命令显示地指定

1
2
3

nvm root "$HOME\.nvm"

8. 说明

本文原文位于鹏叔的技术博客 - Windows上安装nvm和nodejs, 获取最近更新, 请访问原文.

最新更新以及更多Nodejs相关文章请访问 鹏叔的技术博客 - Nodejs

9. 参考文档

node版本管理神器nvm安装使用教程(Windows11版本)