安装Scoop

scoop > 在 Windows 系统中使用 Scoop

安装 PSCompletions

PSCompletions > PSCompletions (psc) 安装配置与使用[ psc]

安装 PSCompletions 添加 mise 命令补全
psc add mise

使用 Scoop 安装:普通用户首选

scoop install mise

安装后验证:

mise --version
Get-Command mise | Select-Object Source
where.exe mise

mise 官方把 Scoop 作为 Windows 的推荐安装方式。Scoop 会把 mise 命令注册到它自己的 shim 目录中,所以一般不需要手动给 mise.exe 配 PATH。

推荐的 D 盘配置:只迁移 mise 数据1

mise.exe 继续交给 Scoop 或 WinGet
Node、Java、Python、Go 等工具放到 D 盘
规划目录
New-Item -ItemType Directory -Force "d:\Program Files\mise\data"
New-Item -ItemType Directory -Force "d:\Program Files\mise\cache"

其中 installsshims 不需要提前创建,mise 使用时会在 data 目录下面生成。

最小配置:只设置 data 和 cache
[Environment]::SetEnvironmentVariable("MISE_DATA_DIR", "d:\Program Files\mise\data", "User")
[Environment]::SetEnvironmentVariable("MISE_CACHE_DIR", "d:\Program Files\mise\cache", "User")

这样真正占空间的工具、插件、shims 和缓存都会离开默认目录。

config 和 state 文件通常不会像多版本 JDK、Node 那样占很多空间。如果只是为了节省 C 盘,没有必要为了“看起来都在一起”,强行把所有目录都改掉。

完整配置
New-Item -ItemType Directory -Force "d:\Program Files\mise\data"
New-Item -ItemType Directory -Force "d:\Program Files\mise\cache"
New-Item -ItemType Directory -Force "d:\Program Files\mise\config"
New-Item -ItemType Directory -Force "d:\Program Files\mise\state"
[Environment]::SetEnvironmentVariable("MISE_DATA_DIR", "d:\Program Files\mise\data", "User")
[Environment]::SetEnvironmentVariable("MISE_CACHE_DIR", "d:\Program Files\mise\cache", "User")
[Environment]::SetEnvironmentVariable("MISE_CONFIG_DIR", "d:\Program Files\mise\config", "User")
[Environment]::SetEnvironmentVariable("MISE_STATE_DIR", "d:\Program Files\mise\state", "User")

这里使用的是 User,代表当前用户级环境变量,不需要为了这个配置去改整台电脑的系统变量。

除非所有 Windows 用户都要共用这套 mise,否则不建议改成 Machine。系统级变量需要管理员权限,也更容易影响其他账号。

配置开发环境,把新的 shims 目录放到用户 PATH 后面2
#$shimPath = "$env:USERPROFILE\AppData\Local\mise\shims" 未配置默认目录
$shimPath = "$env:MISE_DATA_DIR\shims"
$currentPath = [Environment]::GetEnvironmentVariable('Path', 'User')
$newPath = $currentPath + ";" + $shimPath
[Environment]::SetEnvironmentVariable('Path', $newPath, 'User')

这个脚本的作用就是把 mise 的 shims 目录加入到当前用户的 PATH 环境变量中。

重新打开所有终端和 IDE

[Environment]::SetEnvironmentVariable(..., "User") 修改的是以后启动的新进程环境,当前 PowerShell 不会自动刷新。

配置完成后,需要重新打开:

  • PowerShell
  • Windows Terminal
  • VS Code
  • IntelliJ IDEA
  • 其他会调用 Node、Java、Python 的终端或 IDE

如果只关闭当前标签页,外层程序仍然是旧进程,也可能继续拿到旧 PATH。最稳妥的方式是把终端和 IDE 完全退出后重新启动。

安装一个工具验证

重新打开 PowerShell 后,先检查:

$env:MISE_DATA_DIR
$env:MISE_CACHE_DIR
mise --version
mise doctor

然后以 Node 22 为例:

mise use node@26

再检查:

where.exe node
mise which node
mise where node
node -v

理想关系应该是:

where.exe node
→ d:\Program Files\mise\data\shims\node.exe
 
mise which node
→ d:\Program Files\mise\data\installs\node\26.x.x\node.exe
 
mise where node
→ d:\Program Files\mise\data\installs\node\26.x.x
 
node -v
-> v26.x.x

Footnotes

  1. 参考来源:Windows 上配置 mise:安装目录、shims 与 PowerShell 环境

  2. 参考来源:使用 Scoop + Mise 搭建统一的 Windows 开发环境