使用 nvs 工具来切换 node 版本

简介: nvs是一款跨平台Node版本管理工具,支持Windows、macOS和Linux,可轻松切换不同项目的Node版本。本文介绍其安装方法、常用命令(如添加、切换、默认版本设置)及实用技巧,助力多项目高效开发。

目录

介绍

nvs 是一款十分方便的 node 版本的管理工具,用来满足不同项目对 node 版本的要求。

比方说我公司开发的旧项目A,用的是 Node.js 12 版本,而项目B用的最开始用的是 Node.js 14,后来改成了 Node16,不排除将来会升级到更高的版本。

新老项目并存,项目依赖老旧是历史遗留问题,如果电脑只装了一个 node 版本,显然是不满足实际开发的。因此我们需要一款方便好用的、跨平台的 node 版本管理工具。

类似的还有 nvm 之类的,只是我个人更喜欢用 nvs,因为他跨平台,安装也很方便。

在本文中,我将根据跟人的实际开发经验,推荐 nvs 给大家使用。

nvs 的安装方法

nvs 官方仓库地址如下:

jasongin/nvs: Node Version Switcher - A cross-platform tool for switching between versions and forks of Node.js

nvs 有跨平台的特性,支持 Windows 、 macOS和 Linux 系统,下面分别介绍两种安装方法。

Windows 安装nvs

推荐通过 msi 的方式安装,就跟正常安装软件一下,双击下一步即可:

https://github.com/jasongin/nvs/releases

macOS安装 nvs

用下面三行命令即可:

export NVS_HOME="$HOME/.nvs"
git clone https://github.com/jasongin/nvs "$NVS_HOME"
. "$NVS_HOME/nvs.sh" install

如果 github 访问不了,可以自行想办法加速一下,这里不宜多展开。

nvs的常见命令

nvs我个人常用的命令就那么几个,主要是添加、单次使用、永久使用这样子。使用上有些小细节,稍微注意下就好。

添加 Node 版本

如果你想安装最新的 LTS 版本,可以用命令:

nvs add lts

如果你需要新增一个 Node.js 16的版本,可以用以下命令:

nvs add 16

更新当前的 Node 小版本

如果你想要升级 Node 小版本,比方说从 20.13.1升级到20.14.0(当前大版本的最新版),可以使用如下命令:

nvs upgrade

随后就可以更新了。使用前可以用 nvs ls看下当前版本是多少,下面是我更新的一个示例:

请在此添加图片描述

配置默认 Node 版本

全局指定

这个适用于绝大部分情况,指定默认的 node 版本。

nvs link lts # 使用最新的 lts 版本,在所有的终端都生效

局部指定

这个适用于偶尔用一次指定版本的情况,当你的终端关闭后,下次启动默认还是之前 nvs link 过的版本。

nvs use 16 # 在当前的终端使用 16 版本,关闭后失效

查看所有安装的 Node 版本

nvs ls

比方说我安装了以下版本,当前指向的版本是 node/16.15.0

请在此添加图片描述

其他命令

nvs --help // 查看其他命令的帮助

实用技巧

如果你不想每次都手动切换 node 版本,希望根据项目配置来,那么你可以把 nvs use 16这样的命令,写到 Vue 项目的 pre 中。package.json示例如下:

{
  "scripts": {
    "predev": "nvs use 16",
    "dev": "vue-cli-service serve"
    "prebuild": "nvs use 16",
    "dev": "vue-cli-service build"
  }
}

这样你每次启动或者打包项目的之前,都会先执行 pre 开头的 script,然后在执行你当前执行的命令。

总结

nvs 可以用来很方便的下载安装、切换 Node 版本,适用于多项目开发。掌握了 nvs 的基本使用,可以很方便的在各个项目的开发环境相对独立,互不影响。必要时可以把 nvs 的命令写到项目配置中,这样就不需要额外记忆特定项目需要什么 Node 版本了,也方便从命令中查看项目所需要的 Node 版本。

目录
相关文章
|
14天前
|
人工智能 资源调度 自然语言处理
AI agent指挥官 重塑智能体协作的新时代蓝图
随着 2026 年 AI 技术进入深度协作阶段,AI agent 指挥官成为连接智能体(AI Agents)执行层与业务价值层的核心枢纽。本文深入分析智能体协作的发展背景、技术栈演进、核心组件与架构模式,提出一种全新的 “协作智能体架构” 框架,以流程化、可执行的方式解释指挥官如何统筹规划、管理智能体、多模型服务与资源调度,从而实现高效、可控、可审计的智能体系统。
153 1
|
机器学习/深度学习 资源调度 监控
深度学习基础入门篇[六]:模型调优,学习率设置(Warm Up、loss自适应衰减等),batch size调优技巧,基于方差放缩初始化方法。
深度学习基础入门篇[六]:模型调优,学习率设置(Warm Up、loss自适应衰减等),batch size调优技巧,基于方差放缩初始化方法。
|
1月前
|
人工智能 JavaScript UED
如何实现两个下拉选择框 select选中联动效果?
本文通过一个公司与产品联动的下拉选择案例,详细讲解了Element UI中双向联动下拉框的实现方法。涵盖数据过滤、回显处理、重置功能及注意事项,结合Vue实战代码,帮助开发者提升表单交互体验,适用于各类关联选择场景的开发参考。(238字)
196 0
如何实现两个下拉选择框 select选中联动效果?
|
2月前
|
人工智能 前端开发 JavaScript
告别"玄学调试":用这份指令让AI成为你的"赛博华佗"
调试占用了开发者50%的时间?本文提供一套专业的AI调试指令,将大模型转化为"拥有10年经验的代码医生"。通过结构化的诊断-修复-预防流程,告别低效的"玄学调试",实现从"修好Bug"到"根治隐患"的质变。
330 6
|
11月前
|
存储 缓存 Java
极速启动,SAE弹性加速全面解读
在云计算快速发展的今天,业务稳定性与响应速度成为企业竞争力的关键。阿里云Serverless应用引擎(SAE)通过镜像加速、启动加速及CPU Burst等核心技术,大幅提升弹性能力。其中,镜像加速利用预热机制与按需加载技术减少拉取时间;启动加速针对Java应用优化,采用Dragonwell 11的Quickstart能力和Wisp2协程技术;CPU Burst则在应用启动阶段临时提升CPU规格,确保高效运行。
极速启动,SAE弹性加速全面解读
|
JSON 小程序 JavaScript
微信小程序页面事件,下拉刷新事件和上拉触底事件
这篇文章介绍了微信小程序中如何实现下拉刷新和上拉触底事件,包括开启下拉刷新、配置下拉刷新样式、监听下拉刷新事件,以及监听上拉触底事件和配置上拉触底的距离。
|
Web App开发 JavaScript 前端开发
2024年纯前端VUE在线编辑微软Office/金山WPS的Word/Excel文档
现在,随着数字化进程渗透到到各行各业,数据安全已经成为了数字化革命中的重要组成部分,而在线Office成在OA、ERP、文档系统中得到了广泛的应用,为我国的信息化事业也做出了巨大贡献。随着操作系统、浏览器及Office软件的不断升级和更新换代,加上国家对信息化、数字化系统要求的不断提升,一些厂家的WebOffice控件产品不断被淘汰出局,而现存的几个产品也存在以下几个问题:
1536 90
2024年纯前端VUE在线编辑微软Office/金山WPS的Word/Excel文档
|
JavaScript 内存技术
nvm 切换版本失效?这个方法100%解决
NVM是一个工具,类似于一个“开关”,可以帮助我们在同一台电脑上安装和切换不同版本的Node.js
8914 1
nvm 切换版本失效?这个方法100%解决
|
存储 安全 Apache
2023-10 适用于基于 x64 的系统的 Windows Server 2012 R2 月度安全质量汇总(KB5031419)
2023-10 适用于基于 x64 的系统的 Windows Server 2012 R2 月度安全质量汇总(KB5031419)
1640 2
|
前端开发 数据库 JavaScript
基于Flowable的流程挂接自定义业务表单的设计与实践
文章讨论了如何在Flowable流程引擎中挂接自定义业务表单,以及相关设计和实践的步骤。文章中包含了一些前后端代码示例,如Vue组件的模板和脚本部分,这些代码用于实现与Flowable流程引擎交互的界面。例如,有一个按钮组件用于提交申请,点击后会触发applySubmit方法,该方法会与后端API进行交互,处理流程启动、查询关联流程等逻辑。
54141 11