mise:一站式开发环境版本管理工具
mise 是一款跨平台的多语言版本管理工具,能一键安装、切换、管理 Java/Node/Maven 等开发环境,替代 SDKMAN!/nvm 等工具,支持项目自动切换环境,让开发环境统一且干净。
作为 Java 开发,肯定没少被 JDK 版本折腾:项目要换版本,就得手动改环境变量,切来切去手忙脚乱,还容易搞混。今天给大家安利一款超实用的版本管理工具 ——mise,在 Windows 上装好后,能实现「进项目目录自动切换 JDK 版本」,彻底解放双手,再也不用手动折腾环境配置了!
一、Windows 安装 mise
mise 安装超简单,全程一键操作,不用复杂配置。
以管理员身份打开 PowerShell(右键开始菜单,选择「Windows PowerShell (管理员)」);
执行安装命令,通过 winget 直接下载安装:
winget install jdx.mise安装完成后,必须重启 PowerShell 或终端(让环境变量生效),然后输入以下命令验证是否安装成功:
mise --version如果终端显示出 mise 的版本号(比如 mise 2024.4.0),就说明安装成功啦,是不是超简单!
二、配置自动版本切换核心
mise 的核心优势就是「自动识别项目版本并切换」,需要简单配置一下 shims 路径,让终端能识别到版本切换逻辑。
直接在 PowerShell 中执行以下命令,将 mise 的 shims 目录添加到用户环境变量 PATH 中:
# 打印出shims的目录
PS C:\Users\hz > echo "$env:USERPROFILE\AppData\Local\mise\shims"
C:\Users\hz\AppData\Local\mise\shims
# 下面两个命令会将shims的目录配置到用户环境变量path中,也可以手动复制上面的路径自己添加到环境变量中
# 获取 mise shims 目录路径
$shimPath = "$env:USERPROFILE\AppData\Local\mise\shims"
# 把 mise 的代理目录,加到系统的 “命令搜索路径” 最前面
[Environment]::SetEnvironmentVariable("PATH", $shimPath + ";" + [Environment]::GetEnvironmentVariable("PATH", "User"), "User")配置完成后,再次重启终端,这个自动切换的配置就生效了。
三、项目内配置 JDK 版本(核心步骤)
接下来就是针对具体项目配置 JDK 了,只需在项目根目录创建一个配置文件,就能锁定该项目的 JDK 版本,终端进入目录自动切换。
进入你的 Java 项目根目录(比如
D:\project\my-java-project),可以通过 PowerShell 命令cd 项目路径跳转;新建名为
.mise.toml的配置文件
编辑
.mise.toml文件,写入 JDK 版本配置(以常用的 JDK 17 为例,也可以填具体版本号如17.0.10):
[tools]
java = "17"安装对应版本的 JDK,在项目目录执行命令:
# 如果jdk不存在,执行mise install 或者 java -version 都会自动安装jdk
mise installmise 会自动下载并安装配置文件中指定的 JDK 版本,等待安装完成即可。
四、常用命令
日常使用 mise 其实很简单,记住几个高频命令就足够了:
查看 mise 自身版本:
mise --version安装当前项目配置的工具:
mise install安装指定版本JDK:
mise install java@21查看当前目录正在使用的版本:
mise current临时切换(仅当前终端):
mise shell java@17(如果报错需要激活mise,步骤在下面)查看已安装的 JDK 版本列表:
mise list java卸载指定java版本:
mise uninstall java@21设置全局默认 JDK 版本:
mise use --global java@版本号环境异常时进行自检:
mise doctor更新 mise 到最新版:
mise self-update查看可安装的java版本:
mise ls-remote java
🔧 补充:Node 版本管理与全局工具安装
当使用 mise 管理多 Node 版本时,直接用 npm install -g 安装的全局应用可能会因 Node 版本切换而失效。
推荐统一用 mise 管理全局工具,保证在任意 Node 版本下都能正常使用:
# 示例:用 mise 安装全局工具
mise use -g github:anomalyco/opencode
# 更新
mise upgrade -g github:anomalyco/opencode
# 从 mise 中卸载 opencode
mise uninstall -g opencode其他全局工具同理,把 npm install -g 替换为 mise use -g 即可,版本切换后工具依然可用。
# 激活mise
# 1. 给 PowerShell 配置文件添加自动激活(永久生效)
notepad $PROFILE
mise activate pwsh | Out-String | Invoke-Expression
# 刷新配置
.$PROFILE五、验证配置是否生效
配置完别着急走,一步验证确保万无一失!
保持在项目根目录,执行命令查看当前 JDK 版本:
java -version如果显示的是配置的 JDK 17 版本(比如 openjdk version "17.0.10" 2024-01-16),就说明配置成功了!
2. 再测试一下「离开项目目录」的效果:退出项目目录(比如执行 cd .. 回到上一级),再输入 java -version,会发现 JDK 版本自动切回你之前的全局版本,完美实现「按需切换」。