官方链接: github.com/jasongin/nv...
1. 什么是 NVS?
NVS (Node Version Switcher) 是一个用于安装和管理多个 Node.js 版本的命令行工具。它的主要目标是:
- 跨平台:在 Windows, macOS 和 Linux 上提供一致的用户体验。
- 轻量:核心逻辑简单,不依赖 Node.js 自身进行安装。
- 灵活:可以轻松切换全局和项目本地的 Node.js 版本。
- 自动化 :通过
.nvmrc或.node-version文件自动切换项目版本。
2. NVS vs. NVM
| 特性 | NVS (Node Version Switcher) | NVM (Node Version Manager) |
|---|---|---|
| 平台支持 | Windows, macOS, Linux (原生支持) | 主要为 macOS, Linux 设计,Windows 需通过 WSL 或第三方移植版 |
| 安装方式 | 独立的脚本或安装包,不依赖 Node.js | Shell 脚本,需要 curl/wget |
| 性能 | 启动速度快,因为它不加载大量 shell 函数 | 每次打开终端都会加载脚本,可能稍慢 |
| 自动切换 | 支持 .nvmrc 和 .node-version |
主要支持 .nvmrc |
| 核心语言 | 主要使用 Go 语言编写 | 使用 Shell Script (Bash) 编写 |
| 适用场景 | Windows 用户首选,或追求跨平台一致性的开发者 | macOS/Linux 用户的经典选择,社区庞大 |
结论:如果你是 Windows 开发者,或者在多平台间切换工作,NVS 是一个绝佳的选择。
3. 安装 NVS
Windows (推荐)
最简单的方式是使用安装程序:
- 访问 NVS 的 GitHub Releases 页面。
- 下载最新的
.nvs.msi安装包。 - 双击运行,按照向导完成安装。安装程序会自动配置好环境变量。
- 安装完成后,重新打开一个新的终端 (PowerShell 或 CMD)即可使用
nvs命令。
macOS / Linux
使用 curl 或 wget 安装:
bash
# 使用 curl
curl -o- https://raw.githubusercontent.com/jasongin/nvs/master/nvs.sh | bash
# 或者使用 wget
wget -qO- https://raw.githubusercontent.com/jasongin/nvs/master/nvs.sh | bash
安装后,需要将 NVS 添加到你的 shell 配置文件中(如 ~/.bash_profile, ~/.zshrc, ~/.profile):
bash
export NVS_HOME="$HOME/.nvs"
[ -s "$NVS_HOME/nvs.sh" ] && . "$NVS_HOME/nvs.sh"
然后,重新加载你的 shell 配置 或打开一个新的终端:
bash
source ~/.bash_profile # 或 ~/.zshrc
4. 核心常用命令
4.1. 查找和安装版本
nvs ls-remote或nvs ls-remote lts:列出所有可供远程安装的版本。加上lts可以只列出长期支持版。nvs add <version>:下载并安装指定版本。nvs add latest:安装最新的 Node.js 版本。nvs add lts:安装最新的 LTS 版本。nvs add 18:安装最新的 18.x.x 版本。nvs add 20.9.0:安装指定的 20.9.0 版本。
4.2. 切换版本
nvs use <version>:切换当前终端会话 的 Node.js 版本。这是最常用的命令。nvs use ltsnvs use 18
nvs link <version>:将指定版本设置为系统全局默认 版本。这样每次打开新终端都会自动使用这个版本。nvs link lts:将最新的 LTS 版本设为默认。
4.3. 查看和管理
nvs或nvs ls:列出已安装的所有版本,并用>标记当前正在使用的版本,用^标记全局默认版本。nvs current:只显示当前正在使用的版本。nvs uninstall <version>:卸载指定版本。
5. 项目级版本管理 (核心优势)
这是 NVS 最强大的功能之一,它能实现进入项目目录自动切换 Node.js 版本。
工作原理
NVS 会自动检测当前目录及其父目录中的以下文件:
.nvmrc.node-version当这些文件存在时,NVS 会读取文件内容(一个版本号或别名),并自动切换到对应的 Node.js 版本。
操作步骤
-
在你的项目根目录下创建版本文件 :
bash# 假设你的项目需要 Node.js 18.17.0 echo "18.17.0" > .nvmrc # 或者使用 .node-version 文件 # echo "18.17.0" > .node-version -
确保 NVS 的自动切换功能已启用 (默认通常是开启的)。
- 检查状态:
nvs auto(会显示on或off)。 - 如果是
off,运行nvs auto on开启它。
- 检查状态:
-
验证效果 :
cd到你的项目目录。- 运行
nvs current,你会发现它已经自动切换到了18.17.0。 cd到其他没有版本文件的目录,它会自动切换回你的全局默认版本。 最佳实践 :将.nvmrc或.node-version文件提交到你的 Git 仓库,这样团队中的所有成员都可以使用 NVS 自动获得正确的开发环境。