从 Volta 迁移到 mise:Windows 下 Node 版本管理切换记录

最近把 Node 版本管理工具从 NVM 切到 Volta 后,发现 Volta 已经不再维护,并且官方推荐使用 mise,所以这次准备从 Volta 迁移到 mise。

如果你现在使用 Volta 一切正常,并不需要立刻迁移;但从长期维护的角度看,提前把个人环境和项目配置切过去会更稳。本文记录一次 Windows 环境下,从 Volta 迁移到 mise 的完整过程。

卸载 Volta(没有安装过 Volta 可忽略)

先使用 volta list all 查看当前安装的工具列表,并记录对应版本,后面可以通过以下命令把全局工具安装回来:

powershell 复制代码
mise use -g 包名@版本

卸载前,先关闭所有 Node 进程,避免进程占用导致卸载不干净。

打开 PowerShell,执行:

powershell 复制代码
winget uninstall Volta.Volta

然后手动删除环境变量:

text 复制代码
此电脑 >> 右键 属性 >> 高级系统设置 >> 环境变量 >> 双击 Path >> 选中 Volta 的配置并删除

删除前,也可以先到对应路径下把整个 Volta 文件夹删掉。

安装 mise

mise 在 Windows 上官方推荐使用 Scoop 安装,也可以使用 winget。这里继续使用 winget:

powershell 复制代码
winget install jdx.mise

安装完成后检查版本:

powershell 复制代码
mise --version

设置全局 Node 版本

指定一个 Node 版本作为全局默认版本。这里使用的是 22.22.2

powershell 复制代码
mise use -g node@22.22.2

激活终端集成

安装完 Node 之后,如果在终端输入 node --version 仍然提示找不到 node 命令,是因为 mise 需要接入 shell,才能在进入不同项目目录时自动切换 Node 版本。

如果使用的是 PowerShell,执行:

powershell 复制代码
# create profile if it doesn't already exist
if (-not (Test-Path $profile)) { New-Item $profile -Force }

Add-Content -Path $PROFILE -Value '(&mise activate pwsh) | Out-String | Invoke-Expression'

如果使用的是 Git Bash,把以下内容写入 .bashrc 文件(通常在 Users 目录下,如果没有就自己建一个):

bash 复制代码
export PATH="$HOME/AppData/Local/mise/shims:$PATH"
eval "$(mise activate bash --shims)"

如果是 Bash,执行 mise doctor 会看到 shims_on_path 变成 yes;PowerShell 则不需要 shims。

这时候重启终端,再执行 node --version,就可以获取到当前目录下的 Node 版本了。

迁移项目里的 Volta 配置

进入项目,查看 package.json 里的 volta 配置,比如:

json 复制代码
"volta": {
  "node": "14.21.3",
  "yarn": "1.22.22"
}

在项目目录下打开终端,执行:

powershell 复制代码
mise use node@14.21.3
mise use yarn@1.22.22

执行后,项目下会多出一个 mise.toml 配置文件:

toml 复制代码
[tools]
node = "14.21.3"
yarn = "1.22.22"

执行 mise ls 或者 mise all 查看已安装的工具列表:

powershell 复制代码
mise ls

卸载某个包

从当前项目的 mise.toml 中移除某个工具版本:

powershell 复制代码
mise unuse node@14.21.3

只删除已安装的工具版本,但不修改 mise.toml

powershell 复制代码
mise uninstall node@14.21.3

常用命令速查

powershell 复制代码
# 查看 mise 版本
mise --version

# 查看当前生效的工具版本
mise ls --current

# 查看 mise 识别到的所有工具
mise ls

# 安装并写入全局配置
mise use -g node@22

# 安装并写入当前项目配置
mise use node@20

# 按当前 mise.toml 安装缺失工具
mise install

# 从配置中移除工具
mise unuse node@20

# 删除已安装工具版本,但不改配置
mise uninstall node@20

# 检查环境问题
mise doctor
相关推荐
treesforest13 分钟前
前端表单提效实践:基于IP地理位置实现国家区号智能预填
前端·网络协议·tcp/ip·ip定位·ip属地
用户2986985301415 分钟前
React 中 Word 文档转图片的实践方案
前端·javascript·react.js
Csvn15 分钟前
异步并发控制:手写并发池、竞态防护与取消的完整方案
前端·javascript
专业抄代码选手23 分钟前
06|双缓冲与 Commit:让 Fiber 支持第二次渲染
前端·javascript·react.js
涛涛ing23 分钟前
4.8K Star!一套规则让 AI 帮你写出“像人写的”前端代码
前端
万物智能26 分钟前
OpenHarmony源码树解剖—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
前端·后端
天才熊猫君29 分钟前
通用虚拟滚动表格行拖拽排序:从思路到完整实现
前端·javascript
hh95031 分钟前
Agent Plan × DeepSeek Harness:角色 Prompt 驱动的 Agent 分工优化与协作质量实验
java·前端·人工智能·prompt·adg·agent plan·adg成都社区
专业抄代码选手35 分钟前
05|把递归渲染拆成 Fiber:让一棵大树可以暂停
前端·javascript·react.js
像我这样帅的人丶你还38 分钟前
🚀苹果的液态玻璃咋做?🚀
前端·webgl·three.js