ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【Tool】Windows 如何统一管理多个语言版本?mise即为答案(mise工具的安装及使用指南)

2026/8/14 13:25:38 拓冰建站 浏览量
【Tool】Windows 如何统一管理多个语言版本?mise即为答案(mise工具的安装及使用指南)

Mise 介绍

官网(有更全的说明文档):Home | mise-en-place

Mise 是跨语言版本管理工具,前身是rtx,灵感来自 asdf‑vm,支持 Windows /macOS/ Linux。 核心定位:一个工具,统一管理 Python、Java、Node、Go、Rust 等几十种开发语言的多版本,尽量不去修改系统全局环境变量

它解决什么痛点(问题导向)

  1. 电脑同时要 Python3.12、Python3.13、不同 JDK、Node 各个版本,手动改系统 PATH 极其麻烦
  2. 不同项目要求不同语言版本,切项目就要改环境,很容易版本冲突。
  3. 不想污染操作系统自带的语言环境,不希望乱改 Windows 系统环境变量。
  4. Windows 原生缺少好用的多语言版本管理器,pyenv、nvm 对 Windows 支持很别扭。

一句话:把各种编程语言的版本管理,收拢到同一个工具,不用再分别装 pyenv、nvm、jenv 一堆软件

核心概念

  1. install:只下载安装,不启用
mise install python@3.13.11

把包下载到本地存放目录(你的机器:E:\Environment\mise\installs),仅仅存文件,不会改变当前终端环境。

  1. use:启用版本(新版推荐)
  • mise use python@3.13.11项目本地,在当前文件夹生成.mise.toml,仅这个目录下生效。
  • mise use --global python@3.13.11用户全局,写入%USERPROFILE%\.config\mise\config.toml,新开终端默认启用。

❗旧命令mise global / mise local已经被废弃,优先用mise use [--global]

  1. unuse:取消启用版本,不删除安装包
mise unuse --global python

只是从配置移除,磁盘上的安装包还保留,可以随时再次 use 启用。

  1. uninstall:彻底删除磁盘上的安装包
mise uninstall python@3.13.11
  1. shims(垫片机制)mise 生成一层垫片脚本。PowerShell 启动时加载 mise 的 shell 集成,在终端内部动态修改 PATH。 👉不会修改 Windows 系统永久环境变量

Windows 安装 mise(mise‑en‑place)

⚠️关键点:装完必须配置PowerShell激活脚本,否则java/python这些命令不会被接管。
环境默认存放位置:%LOCALAPPDATA%\mise(C盘用户目录下面)。

方式A:winget 一键安装(Windows11 / Win10新版本,推荐)

打开PowerShell(普通用户即可,不需要管理员),执行:

winget install mise

方式B: scoop(如果你装了 scoop)

scoop install mise

方式C: 手动解压(上面两个失败再用)

去 https://github.com/jdx/mise/releases 下载mise-windows-x64.zip,解压,把mise.exe所在目录加到系统 PATH。

安装完成,完全关闭所有PowerShell窗口,重新打开新终端

验证是否装好:

mise --version

输出版本号就代表本体安装成功。


⚠️最重要一步:配置PowerShell自动激活mise(不做就用不了!)

mise靠终端钩子动态管理PATH、JAVA_HOME等,不配置的话,安装完的jdk/python调用不到。

  1. 打开 PowerShell,复制运行这条命令:
New-Item -Path $PROFILE -Force

-Force不存在就新建,已经存在也不会破坏原有内容。

  1. PowerShell执行,会用记事本打开你的PowerShell配置文件:
notepad $PROFILE

记事本弹出

  1. 把下面整块全部复制粘贴进去,不要额外增加重复代码
# ========= mise配置,必须放在整个文件的最顶部 ========= # 设置所有下载SDK保存到 E:\Environment\mise $env:MISE_DATA_DIR="E:\Environment\mise" # 屏蔽PowerShell5.1切换目录警告 $env:MISE_PWSH_CHPWD_WARNING = 0 # mise自动激活脚本 (& mise activate pwsh) | Out-String | Invoke-Expression

  1. 保存记事本,关闭。
  2. 在终端执行让配置立刻生效:
. $PROFILE

以后每新开一个PowerShell窗口,mise就自动加载。

  1. 测试激活是否正常
mise doctor

全部绿色OK就没问题;有红色提示按提示修复。

确认输出:MISE_DATA_DIR=E:\Environment\mise

  1. 简单测试
# 查看可用版本 mise ls-remote python | findstr "3.13.11" # 安装 Python 3.13.11 并设为全局默认 mise use --global python@3.13.11 # 安装多个版本 mise use --global python@3.11 python@3.13.11 python@3.13 # 设置全局默认版本(3.13.11) mise global python@3.13.11 #列出当前激活的 python 版本 mise current
  • 会自动下载,文件保存位置:E:\Environment\mise\installs\python\3.13.11
  • 全程走 E 盘,不占用 C 盘空间

这个两个都可以设置全局默认版本:

验证安装:
# 查看 Python 路径(应在 E:\Tools\mise\data) (Get-Command python).Source # 查看版本 python --version # 查看 pip 位置 (Get-Command pip).Source

测试命令,看实际调用路径
python -c "import sys;print(sys.executable)"

输出路径必须是上面 E 盘路径,才算完全生效。

项目 级 Python(推荐)
# 进入项目目录 cd E:\Projects\MyProject # 创建本地配置(生成 mise.toml) mise use python@3.11 # 查看配置 cat mise.toml # 输出: # [tools] # python = "3.11" # 激活环境(自动切换) cd E:\Projects\MyProject python --version # 显示 3.11.x # 离开目录自动恢复全局版本 cd ~ python --version # 显示全局版本(如 3.13.11.x)
卸载 Python
# 方法 1:卸载特定版本 mise uninstall python@3.11 # 方法 2:从全局配置移除(保留安装文件) mise use --global --rm python # 方法 3:彻底清理(卸载 + 删除配置) mise uninstall python@3.11 mise use --global --rm python # 清理未使用的版本 mise prune

关键目录区分(不要搞混)

  1. mise.exe:mise 小程序本体,体积很小,由 winget/scoop 安装,默认在 C 盘,不用管。
  2. E:\dev\mise所有下载的 JDK、Python、MinGW、PHP 全部在这里,体积很大

常见踩坑

  1. 如果MISE_DATA_DIR依旧显示 C 盘:
  • 确认代码写在文件最顶部mise activate必须写在设置环境变量的下面
  • 确认已经完全关闭旧终端,新开窗口测试
  1. 提示找不到路径:检查 E 盘是否真实建好E:\Environment\mise

后续常用命令

mise list # 查看已安装工具 mise install python@3.11 # 安装python3.11 mise global python@3.11 # 设置全局版本 mise current # 查看当前生效版本

声明感谢此文章:Windows 开发环境多版本管理工具安装_mise安装-CSDN博客