node版本管理nvs

官方链接: 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 (推荐)

最简单的方式是使用安装程序:

  1. 访问 NVS 的 GitHub Releases 页面
  2. 下载最新的 .nvs.msi 安装包。
  3. 双击运行,按照向导完成安装。安装程序会自动配置好环境变量。
  4. 安装完成后,重新打开一个新的终端 (PowerShell 或 CMD)即可使用 nvs 命令。
macOS / Linux

使用 curlwget 安装:

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-remotenvs 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 lts
    • nvs use 18
  • nvs link <version>:将指定版本设置为系统全局默认 版本。这样每次打开新终端都会自动使用这个版本。
    • nvs link lts:将最新的 LTS 版本设为默认。
4.3. 查看和管理
  • nvsnvs ls:列出已安装的所有版本,并用 > 标记当前正在使用的版本,用 ^ 标记全局默认版本。
  • nvs current:只显示当前正在使用的版本。
  • nvs uninstall <version>:卸载指定版本。

5. 项目级版本管理 (核心优势)

这是 NVS 最强大的功能之一,它能实现进入项目目录自动切换 Node.js 版本

工作原理

NVS 会自动检测当前目录及其父目录中的以下文件:

  • .nvmrc
  • .node-version 当这些文件存在时,NVS 会读取文件内容(一个版本号或别名),并自动切换到对应的 Node.js 版本。
操作步骤
  1. 在你的项目根目录下创建版本文件

    bash 复制代码
    # 假设你的项目需要 Node.js 18.17.0
    echo "18.17.0" > .nvmrc
    # 或者使用 .node-version 文件
    # echo "18.17.0" > .node-version
  2. 确保 NVS 的自动切换功能已启用 (默认通常是开启的)。

    • 检查状态:nvs auto (会显示 onoff)。
    • 如果是 off,运行 nvs auto on 开启它。
  3. 验证效果

    • cd 到你的项目目录。
    • 运行 nvs current,你会发现它已经自动切换到了 18.17.0
    • cd 到其他没有版本文件的目录,它会自动切换回你的全局默认版本。 最佳实践 :将 .nvmrc.node-version 文件提交到你的 Git 仓库,这样团队中的所有成员都可以使用 NVS 自动获得正确的开发环境。
相关推荐
wuhen_n5 分钟前
JavaScript链表与双向链表实现:理解数组与链表的差异
前端·javascript
wuhen_n9 分钟前
JavaScript数据结构深度解析:栈、队列与树的实现与应用
前端·javascript
狗哥哥30 分钟前
微前端路由设计方案 & 子应用管理保活
前端·架构
前端大卫1 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘1 小时前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare1 小时前
浅浅看一下设计模式
前端
Lee川1 小时前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试
Ticnix2 小时前
ECharts初始化、销毁、resize 适配组件封装(含完整封装代码)
前端·echarts
纯爱掌门人2 小时前
终焉轮回里,藏着 AI 与人类的答案
前端·人工智能·aigc
twl2 小时前
OpenClaw 深度技术解析
前端