volta是什么
使用背景
手头并行了几个项目,由于历史原因,有个项目只能用低版本的node, 而另一个项目需要高版本的node 因此在切换项目的时候,就需要手动切换node 版本,频繁的切换版本着实有点烦人 正好发现了volta 可以解决我的问题
这是什么玩意儿
Volta ------ 这是一个现代的 JavaScript 工具链管理器,可以快速、便捷地管理 node、npm、yarn、pnpm 等工具的版本,类似于更加智能友好的 nvm。是的,我主要用他来替换nvm 使用。
怎么用
volta-2.0.2-windows-x86_64.msi
常见用途与基本命令
a) 安装 node (全局环境)
bash复制代码
volta install node
安装最新版 node,或指定版本:
perl
bash复制代码
volta install node@18 # 安装 node 18.x
b) 安装 npm、yarn、pnpm
bash复制代码
volta install npm
volta install yarn
volta install pnpm
也可以指定版本:
perl
bash复制代码
volta install npm@7 # 安装 npm 7.x
volta install yarn@1.22.19 # 安装 yarn 指定版本
c) 查看已安装、当前激活版本
bash复制代码
volta list
这样会显示当前安装的所有工具及其版本。
d) 设置项目本地 node 版本(项目级管理)
-
切换到你的项目目录
-
运行(比如):
kotlinbash复制代码 volta pin node@18 volta pin yarn@3
这样会在项目的
package.json
里写入 volta 配置,其他用 volta 的团队成员进入该目录,会自动用同样的 node/yarn 版本。
nvm 用的好好的,为啥要换工具
- 自动切换到所需 node 版本,跨项目无需手动 nvm use。
- 安装工具更干净,不会全局污染。
- 与 nvm 对比: nvm 只管理 node,Volta 不仅管理 node,还可以管理 yarn/pnpm/npm 等各种全局 cli 工具。
- 性能更好,不需要每次 shell 启动都重新切 profile,启动很快。
配置文件说明
在 package.json
里有自动生成的一块:
json
json复制代码
"volta": {
"node": "18.16.0",
"yarn": "1.22.19"
}
卸载/切换版本
css
bash复制代码
volta uninstall node
volta install node@16
遇到错误
一顿操作之后,以为万事大吉了,结果vscode 提示volta 不是可运行的命令
- 关闭vscode 窗口重新打开
- 重启电脑
终于在重启电脑之后可用了
总结
volta 常用命令:
volta install <package[@version]>
安装 node/npm/yarn 等volta pin <package[@version]>
项目级锁定工具版本volta list
查看当前状态volta uninstall <package>
卸载包