用它来管理Node版本,真的太方便了

在之前的文章中写过了关于nvm手动切换版本的问题,很多jym在评论区反馈有最方便的工具可以用来切换node的版本。volta 是另一个现代的 Node.js 版本管理工具,在笔者亲自的试用之后发现volta的开发其实更适合平时大家在公司进行不同node版本的项目。

Volta是什么

Volta 可以管理不同工具的版本,例如 Node.js 和 Yarn。开发者可以为每个项目选择特定的node版本,不会干扰其他需要不同node版本的项目,也不需要在启动项目的时候来回切换。

另外一个优点就是它可以根据项目的配置来自动的切换node的版本,它可以检测项目中的配置文件并自动切换到正确的版本,很大程度上简化了开发日常工作不同项目切换的问题。

Nvm和Volta的一些区别

  1. 版本管理:

    • Volta: Volta 强调项目级别的版本管理。我们可以对不同的项目设置不同的node版本,而不是全局只有一个node版本,比nvm更加的灵活一点,以确保不同项目使用不同版本的 Node.js
    • nvm: nvm 更倾向于全局管理 Node.js 版本,您可以全局切换 Node.js 版本,但这会影响计算机上的所有项目。
  2. 自动切换:

    • Volta: Volta 具有自动切换功能,可以根据项目的配置自动切换到正确的 Node.js 版本,从而简化了开发者的工作。
    • nvm: nvm 需要手动切换 Node.js 版本,开发者需要手动运行命令切换全局或本地 Node.js 版本。
  3. 插件生态系统:

    • Volta: Volta 具有插件系统,允许开发者为不同类型的工具和项目添加插件。这使得 Volta 更加灵活,并且可以与其他开发工具集成。
    • nvm: nvm 本身不提供插件系统,通常需要结合其他工具来实现更多功能。
  4. 跨平台支持:

    • Volta: Volta 在不同的操作系统上都提供良好的支持,包括 macOS、Linux 和 Windows。
    • nvm: nvm 也在多个操作系统上可用,但在某些情况下,可能需要额外的配置。

Volta的使用

  1. Volta安装:

    mac安装

    js 复制代码
    curl https://get.volta.sh | bash

    Windows安装

    less 复制代码
    lessCopy code
    iex (iwr https://get.volta.sh -UseBasic)
  2. 检查node版本:

可以通过package来检查我们的项目需要用到的node版本,可以看到这个配置允许你的项目在 Node.js 版本在12或者是大于14的版本

目前的node版本是16

  1. 安装指定node版本:

可以使用 volta install 命令来安装任何 Node.js 版本

js 复制代码
volta install node@15

我们先来安装个版本为15的node看看

  1. 查看已安装的node版本列表:

用 volta list 命令可以查看已安装的 Node.js 版本以及当前固定的版本

体验最大特点

自动切换就是volta的最大特点,让我们来一起体验一下

给项目指定node版本,会在package.json自动生成一条配置

js 复制代码
volta pin node@15

我这里指定是是15,在指定版本的时候需要先安装对应的版本,不然会出现以下报错

命令执行成功可以看到package.json生成一条volta的配置

为了验证一下,我们用volta下载一个13版本的node,看看volta会不会给我们默认使用15的版本

当前项目用的是15版本

切换到另外的项目 安装 指定 版本是13 大工告成!!!每个项目拥有自己的node版本,泰库啦!

总结

Volta 更侧重于项目级别的 Node.js 版本管理,各位开发者平时在公司大多数都是相对于项目在进行开发,所以在node的版本管理上,用volta的灵活性比nvm的管理更加的灵活一些,需要自己手动操作的地方也比较少,并具有自动切换和插件系统,很大程度上简化开发工作。

但对于nvm来说则是针对全局的开发环境,需要开发者自己手动切换版本,对习惯于全局管理node版本的开发者更加适用。

🙏 感谢您花时间阅读这篇文章!如果觉得有趣或有收获,请关注我的更新,给个喜欢和分享。您的支持是我写作的最大动力!

往期好文推荐

相关推荐
学长毕设3 分钟前
基于springboot的社区养老监护系统的设计与实现
java·spring boot·后端
会编程的吕洞宾7 分钟前
RAG检索质量怎么评估?3个指标+LLM裁判实战
java·开发语言·人工智能·后端
段一凡-华北理工大学16 分钟前
高炉能源系统智能化:热风炉、煤气与极致能效~系列文章07:高炉煤气:产生规律与全厂用户平衡
java·前端·能源
wno70426 分钟前
Springboot国际化信息(i18n)解析
java·spring boot·后端
程序员大阳44 分钟前
副队长JavaScript教程(55)-DOM节点增删改查
javascript·dom·增删改查·节点·克隆
前端架构师-老李1 小时前
HTML与CSS基础第四课—strong、em、b、i 各表示什么
前端·css·html
郭小李1 小时前
spring 的 @CookieValue 注解 用法
java·后端·spring
king王一帅1 小时前
AI 时代一群人在卷笔记软件,我想先把 Markdown 编辑器的底层做好
前端·ai编程·markdown
用户11481867894841 小时前
盲水印:DCT-QIM 从原理到踩坑
前端