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 自动获得正确的开发环境。
相关推荐
wenzhangli72 小时前
Ooder A2UI 核心架构深度解析:WEB 拦截层的设计与实现
前端·架构
前端百草阁3 小时前
【前端性能优化全链路指南】从开发编写到构建运行的多维度实践
前端·性能优化
女生也可以敲代码3 小时前
AI时代下的50道前端开发面试题:从基础到大模型应用
前端·面试
ZhengEnCi3 小时前
M5-markconv自定义CSS样式指南 📝
前端·css·python
IT_陈寒3 小时前
SpringBoot自动配置的坑差点让我加班到天亮
前端·人工智能·后端
xingpanvip3 小时前
星盘接口开发文档:星相日历接口指南
android·开发语言·前端·css·php·lua
@PHARAOH4 小时前
WHAT - GitLens supercharged 插件
前端
TT模板4 小时前
苹果cms整合西瓜播放器XGplayer插件支持跳过片头尾
前端·html5
Wect4 小时前
React 性能优化精讲
前端·react.js·性能优化
追风筝的人er5 小时前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
前端·vue.js·后端