原文: NVM for Windows – How to Download and Install Node Version Manager in Windows 10
不同的软件开发工具可能需要特定版本的 Node.js 和 NPM(Node 包管理器)。NPM 是一个用于管理从 NPM 注册表安装的包的工具。
此外,如果你正在制作 NPM 包,你可能需要使用不同版本的 Node.js 对其进行测试。这就是你应该安装 NVM 的原因。
NVM 是 Node Version Manager(Node 版本管理工具)的缩写,是一个命令行工具,用于管理和切换到不同版本的 Node.js。
在本文中,我将向你展示如何在 Windows 10 上下载和安装 NVM。
我还将向你展示如何在你的 Windows 计算机上设置和使用不同版本的 Node.js 和 NPM。
我们将涵盖的内容
- 如何在 Windows 10 中下载和安装 NVM
- 按照步骤下载 nvm-windows
- 如何在 Windows 10 上使用 NVM
- 如何使用 NVM 安装不同版本的 Node.js 和 NPM
- 总结
如何在 Windows 10 中下载和安装 NVM
正如我之前提到的,Windows 不支持 NVM,因为 NVM 仅在 Linux 和 Mac 上受支持。
你将在 Windows 机器上使用的是 “nvm-windows”。 nvm-windows 类似于 NVM,但不完全相同。
注意:如果你已经安装了 Node.js,你需要卸载它,这样在使用不同版本的 Node 和从 NPM 注册表安装包时不会导致错误。
之后重新启动你的电脑,打开命令提示符或 PowerShell,然后运行 node -v 以确认 Node 已被卸载。

另外,如果你安装了 yarn,卸载它,安装 NVM 后重新安装它。你不想在安装和使用 NPM 注册表中的包时遇到奇怪的错误。
按照步骤下载 nvm-windows
第 1 步:前往 nvm-windows 仓库,然后单击立即下载

你将看到一个包含不同版本的 nvm-windows 的页面。
- 第 2 步:点击最新版本下载。目前,它是 2022 年 4 月 28 日的版本。

- 第 3 步:在你的计算机上找到安装程序并打开它,按照安装向导进行安装。


- 第 4 步:打开 PowerShell 或命令提示符并运行
nvm -v以确认安装。

如果你收到与我上面相同的消息,则 nvm-windows 已成功安装,恭喜!
如何在 Windows 10 上使用 NVM
要使用 NVM,你需要以管理员身份打开 PowerShell 或命令提示符。你也可以使用 Git bash。
- 要以管理员身份打开 PowerShell,请右键单击开始并选择 “PowerShell(Admin)”。

- 要以管理员身份打开命令提示符,请搜索 “cmd” 并选择右侧的“以管理员身份打开”。

如何使用 NVM 安装不同版本的 Node.js 和 NPM
超级强大的 NVM 让你能够在你的机器上安装多个版本的 Node.js。
要安装最新版本的 Node,请运行 nvm install latest。

安装 Node 的长期支持(LTS)版本更好,因为它的 bug 更少。
要安装 LTS 版本的 Node,请运行 nvm install lts。

要安装特定版本的 Node,你需要先运行 nvm list available,以便查看可用的 Node 版本。

要安装该特定版本,请运行 nvm install node-version-number,例如,nvm install 14.20.0。

注意:一旦你安装了一个版本的 Node,就会为你安装相应版本的 NPM,所以你不需要单独安装 NPM。
如果你要使用的 NPM 版本不可用,请运行 npm install @npm version-number -g 进行安装。
现在,要查看你在 Windows 机器上安装的 Node 版本列表,请运行 nvm list。

要使用特定版本的 Node,请运行:
nvm use latest使用最新版本nvm use lts使用长期支持版本nvm use version-number使用你已安装的任何其他版本

总结
本文向你展示了如何在 Windows 10(nvm-windows)上安装 NVM,以及如何使用它来安装和管理不同版本的 Node.js。
提醒一下,以下是你将与 nvm-windows 一起使用的常用命令:
nvm install node-version– 安装一个版本的 Nodenvm list– 查看你机器上安装的 Node 版本nvm use node-version– 使用特定版本的 Node
感谢你阅读本文,继续编码吧:)