使用 Mise 替换 FGM
Mise 能够完全覆盖 FGM 的功能和使用场景,而且不仅仅能够用来管理 Golang 工具链,还能够用来管理其他语言的工具链,比如 Node.js、Neovim、Java 等等。 甚至我们还能够用 Mise 来替换 direnv,实现管理进入退出目录时的环境变量加载和卸载。
下面将从三方面带你感受笔者使用 Mise 的体验:
一、下载 Mise
方式 1: 通过包安装管理器安装 Mise
# 需要先安装 cargo-binstall 和 Rust 工具链
方式 2: 从仓库预编译版本下载资源列表中下载,解压缩后把 mise 可执行文件放到可执行文件目录即可
二、配置 Mise
2.1 初始化 Shell
# 对于 bash
# 对于 zsh
# 对于 fish
2.2 配置文件
Mise 的配置文件是 .mise.toml,可以放在项目根目录或者家目录。
# ~/.mise.toml
[]
= "1.21"
= "20"
= "3.12"
三、使用 Mise
# 安装工具
# 设置全局版本
# 设置项目版本 (会自动创建 .mise.toml)
# 列出已安装版本
# 卸载
四、高级功能
4.1 环境变量管理
# .mise.toml
[]
= ["./bin", "{{config_root}}/scripts"]
= "secret"
4.2 Task 运行器
# .mise.toml
[]
= "Build the project"
= "make build"
[]
= "Run tests"
= "go test ./..."
4.3 替换 direnv
Mise 支持 .envrc 文件,可以完全替换 direnv:
然后在 .envrc 中:
总结
Mise 是一个功能强大的工具链管理器,具有以下优势:
- ✅ 支持多种语言 (Go, Node.js, Python, Java, Rust 等)
- ✅ 支持项目级别和全局配置
- ✅ 支持环境变量管理
- ✅ 内置 Task 运行器
- ✅ 兼容 asdf 插件生态
- ✅ 性能优秀 (Rust 编写)
Comments