工程提速,选用volta的理由
2024-07-06 05:05:44

我:开发环境node环境有点乱,下个nvm用用吧。

同事:也许你应该考虑放弃nvm,考虑一下这款好用的volta?

正文

在公司的电脑环境上安装了自用的hexo博客,打算日常午休时候,可以稍微写点什么。

但是,hexo和公司电脑环境上的配置发生了冲突。

公司项目是node20版本的环境,hexo的环境是不支持的,本来打算用nvm处理一下算了,甚至算了一下时间,我都想放弃用公司电脑摸鱼写博客了。

但是后来朋友说,用volta,这是比nvm更好的node版本管控工具,能完美解决我的痛点。

我一开始不信,翻了一下volta官网,也没明白到底好用在哪里,我承认我英语不好,但首页说明很简单,这点我还是看的明白。

使用 Volta,您可以一次选择 Node 引擎,然后不再担心它。您可以在项目之间切换,而不必手动切换 nodejs 版本。

你可以在工具链中安装 npm 包,不必定期重新安装它们,或者弄清楚它们停止工作的原因。

官网这话说的比较拗口,一开始我没明白什么意思,之后上手用了一下,我瞬间明白了。

这玩意能给项目锁node版本!每个项目在设置好自己的版本之后,不同项目可以同时运行。

这不需要像nvm一样,每次换项目都得手动命令行切换node版本。

应用场景

相信,我上边的例子已经让您明白到底什么样的环境适合使用volta工具了。

这里,个人总结一下适合的应用场景

  1. 多项目,一台电脑上有多个需要开发的项目
  2. node多版本,多个项目之间node版本跨度要求大,不能同时使用一个环境
  3. 需并行开发,要同时运行数个node环境不同的项目

如果满足以上应用条件,不妨尝试一下使用volta

除了无缝衔接,每个项目的无须手动切换外,它还有如下特点:

  • 速度,因为是用时下流行的rust重写的,所以运行速度很快
  • 跨平台支持,包括 Windows 和所有 Unix shell
  • 稳定的工具安装-无需每次升级都重新安装!

安装流程

因为个人是win系统,且win系统的操作相对繁琐,这里先说win系统的安装。

win

对于 Windows,下载并运行 Windows 安装程序并按照说明操作。

Volta 的功能依赖于创建符号链接,所以你必须启用开发者模式

启用开发者模式的意思很简单,就是打开设置>开发者选项,然后打开开发人员模式即可。

对了,这里要注意下,有时候VScode窗口命令行不支持的时候,把所有的VScode全部关掉再重开即可。

mac与linux

这里我没有mac,所以我就不细说了,反正mac环境很干净,知道对应的目录敲一下命令就可以了。

1
curl https://get.volta.sh | bash

如其他开发的环境工具一样,安装完成之后,我们可以用如下命令确认是否安装成功

1
volta --version

使用方式

这里也不墨迹,直接与nvm使用方式的对比一下。

名称 volta nvm
下载 volta install node@16 nvm install @16.12.0
卸载 volta uninstall nvm uninstall @16.12.0
使用node版本 nvm use
固定node版本 volta pin node@16
查看安装的版本 volta list nvm list
查看可安装的版本 nvm list available

注意,volta uninstall 命令似乎卸载不了已经安装node版本,这里我尝试过使用命令去安装和卸载,结论就是volta除了针对pnpm和nvm的安装卸载有效果,其他毫无作用。

可能这是一个bug,如果有人能正式用出来,可以再我的评论区说一下,我这边立刻改掉,反正我是没试出来。

正式的命令,可以参考这个:Volta 命令 | Volta (jikun.dev),这应该是同人做的官网文档中文翻译,不过,我参考这个卸载命令试了一下,还是不行。

总之,目前除了卸载,一切都算是正常。

同类工具

本来是没有这项的,在整理到一半的时候,在群友提示下,我才发现volta还有同类的工具——fnm

这可真是铁板上烤鱿鱼——卷起来了啊。

和volta一样,fnm也是rust编写的,很快且支持项目固定node环境,而且也能稳定安装环境,同时wiki上也是中文。

感兴趣的可以参考这篇文档:还在用nvm?来试试更快的node版本管理工具——fnm_fnm windows-CSDN博客

这博客虽然是在csdn上写的,但写的简单干脆,适合阅读,没啥车轱辘话,挺不错的。

结语

不得不说,真是江山代有人才出,明明一年没正式在开发团体中做事,就感觉现在前端圈子变了好多。

我们那个时候对于node版本管控需求不高,所以最多就一个nvm就够用了,而现在不同node版本的新旧项目叠在一起,如此环境,

volta,确实好用。

参考

软件丨node版本管理的神! - 知乎 (zhihu.com)

Volta 命令 | Volta (jikun.dev)

Prev
2024-07-06 05:05:44
Next