用它来管理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版本的开发者更加适用。

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

往期好文推荐

相关推荐
非著名架构师4 分钟前
js混淆的方式方法
开发语言·javascript·ecmascript
努力的布布20 分钟前
SpringMVC源码-AbstractHandlerMethodMapping处理器映射器将@Controller修饰类方法存储到处理器映射器
java·后端·spring
PacosonSWJTU24 分钟前
spring揭秘25-springmvc03-其他组件(文件上传+拦截器+处理器适配器+异常统一处理)
java·后端·springmvc
记得开心一点嘛33 分钟前
在Java项目中如何使用Scala实现尾递归优化来解决爆栈问题
开发语言·后端·scala
多多米100538 分钟前
初学Vue(2)
前端·javascript·vue.js
敏编程1 小时前
网页前端开发之Javascript入门篇(5/9):函数
开发语言·javascript
柏箱1 小时前
PHP基本语法总结
开发语言·前端·html·php
黄俊懿1 小时前
【深入理解SpringCloud微服务】手写实现各种限流算法——固定时间窗、滑动时间窗、令牌桶算法、漏桶算法
java·后端·算法·spring cloud·微服务·架构
新缸中之脑1 小时前
Llama 3.2 安卓手机安装教程
前端·人工智能·算法
hmz8561 小时前
最新网课搜题答案查询小程序源码/题库多接口微信小程序源码+自带流量主
前端·微信小程序·小程序