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

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

往期好文推荐

相关推荐
狗头大军之江苏分军19 分钟前
《潮水漫过十七岁》开学了
后端
苏三说技术1 小时前
如何看待GPT-6在UP主众测中碾压夺冠?它是现在最强大模型吗?
后端
mldong1 小时前
一份 JSON,一条能跑的审批流:把报销流程送上工作流引擎
后端·架构
wno7041 小时前
Spring Boot WebFlux增删改查
java·spring boot·后端
Captaincc1 小时前
AI用量v0.1.11更新发布 新增 jusage doctor 诊断指令 托盘展示token 和余额 新增 AutoClaw 支持
前端·后端·vibecoding
aramae2 小时前
模拟实现strlen()函数 (C语言)
c语言·开发语言·后端
计算机魔术师3 小时前
德国Wiki被黑后两周,OpenAI终于把模型失控的账本摊开了
前端
kyriewen3 小时前
我让 AI 当面试官面了我一轮:第 3 个追问我就卡住了(附 10 道追问清单)
前端·面试·ai编程
IT_陈寒3 小时前
Python的GIL把我坑惨了,多线程跑得比单线程还慢
前端·人工智能·后端
分支预测失败3 小时前
RISC-V 时间子系统深度专题:mtime 访问路径、SBI 定时器与 Linux tickless 协同
后端