1. volta 介绍
volta 是一种 JavaScript 命令行工具管理者工具. 可以管理: node/npm/yarn 三种工具版本. 其特点有:
快速
对比 nvm 来说 volta 还可以管理 yarn, nvm 安装后会在 shell 中增加逻辑,使得 shell 终端开启很慢, volta 采用 shims 的技术不会比 nvm 快速不少
可基于不同项目进行版本的无缝切换
每个项目或者代码仓库可以在 package.json 中配置不同的 node/npm/yarn 版本, 然后在这个项目使用时就会自动切换到对应工具版本使用; 当然 volta 也支持全局默认的 node 版本.
跨平台
2. volta 使用
2.1 安装
1 | # 通过homebrew |
2.2 使用
2.2.1 查看当前已经安装的工具
1 | ➜ ~ volta list all |
这里已经安装了两个, 如果是空, 可以使用以下命令安装
2.2.2 安装工具
1 | # 精确工具版本安装 |
注意: 每次install
除了安装, 也会设置这个版本为默认版本, 即全局默认版本, 新建终端即可发现工具新版本是最近一次install
的版本. 所以如果需要切换全局默认版本也是用 install 命令:
1 | # 切换全局默认版本 |
其次注意执行 setup 命令启用, 启用后可以在$PATH 中看到 volta 的设置, 这也是其启用后的标记:
1 | ➜ ~ echo $PATH |
2.2.3 禁用 volta
上面 PATH 中 volta 的设置一般在.zshrc/.bashrc 文件中, 所以如果你禁用 volta 使用系统原有的工具, 可以注释掉这个试着, 配置一般如下:
1 | export VOLTA_HOME="$HOME/.volta" |
2.2.4 基于项目设置版本
1 | # 进入项目执行pin, 进行版本绑定 |
通过上面命令可以发现 package.json 进行了 node 版本锁定, 之后在这个项目里用到 node 的时候都会使用锁定的版本.
3. 总结
volta 对比 nvm 不会对终端启动速度产生影响, 且支持项目级别的工具版本锁定, 这样团队开发时只要每个人装了 volta, 则大家都会使用项目中锁定的版本的工具进行开发, 提高了一致性, volta 是一款非常优秀的工具.