Volta 是一个用 Rust 写的 JavaScript 工具链管理器。它和 nvm 最大的区别是: nvm 要你手动切版本,Volta 是进目录就自动切—— 把「在我机器上能跑」这件事,变成代码的一部分。
原文发布在掘金 · 含 Windows 迁移步骤与 shim 冲突处理
在掘金阅读全文
下面是核心用法与关键配置的整理,完整的迁移步骤与命令表请到掘金阅读。
一句话要点
volta pin node@16会把版本写进 package.json,同事克隆后进目录自动生效。- 用环境变量
VOLTA_HOME就能把安装位置挪出 C 盘。 - pnpm 报冲突时,正确解法是设
VOLTA_FEATURE_PNPM=1然后完全重启终端。
一、核心价值:项目级自动切换
在项目根目录执行一次固定版本,Volta 会把版本记进 package.json:
{
"volta": {
"node": "16.20.2",
"npm": "8.19.4"
}
}
之后团队成员克隆项目并进入该目录时,Volta 会自动读取并切换到对应的 Node 版本, 无需任何手动操作。
二、Windows 安装
# 管理员身份打开 PowerShell
winget install Volta.Volta
# 重新打开一个终端再验证
volta --version
三、把安装目录挪到 C 盘之外
默认会装在 C:\Users\<用户名>\AppData\Local\Volta,比较占 C 盘空间。
通过配置 VOLTA_HOME 改存储路径:
- 在目标盘新建目录,比如
D:\Volta。 - 「编辑系统环境变量」→「环境变量」→「系统变量」里新建
VOLTA_HOME,值填该目录。 - 再执行安装;因为变量已存在,Volta 会把数据写进新位置。
- 已经装在 C 盘的,可以把两个目录复制过去,再把系统变量
Path里指向 C 盘的旧路径替换为%VOLTA_HOME%。 - 验证:执行
volta install node,看D:\Volta\tools\image\node下是否出现版本目录。
四、常用命令
volta install node@18 # 安装并设为默认
volta pin node@16 # 在当前项目固定版本,写入 package.json
volta list all # 查看已安装的工具与版本
volta uninstall node@16 # 卸载指定版本
五、pnpm 的 shim 冲突
Volta 安装时会预先放置一些 shim 文件(node、npm、pnpm 等),
作用是拦截命令调用、再按项目配置路由到正确版本。
如果之前手动装过 pnpm,执行 volta install pnpm 就会和已有 shim 冲突。
正确解法是开启 Volta 的原生 pnpm 支持,而不是去删文件:
# 新建用户环境变量
VOLTA_FEATURE_PNPM = 1
# 完全重启终端后再执行
volta install pnpm
配置 VOLTA_HOME 是在 Windows 上用 Volta 的关键一步:
既避免占用 C 盘,又能安心享受自动版本管理带来的便利。
© 2026 HOLZWEGE
返回随笔列表