jdx

jdx / mise

#12
29,1661,182+51 todayRust

开发工具、环境变量、任务运行器

mise 是一个用 Rust 编写的开发环境管理工具,它整合了多种常用工具的核心功能。该项目能够统一管理数百种开发工具(如 Node.js、Python、Go)的多个版本,类似于 asdf 或 nvm。同时,它还能像 direnv 一样,根据项目目录自动设置和管理环境变量,并支持加载 .env 文件。此外,mise 内置了任务运行器功能,可以定义和运行项目构建、测试等任务,类似于 Make。通过将工具版本、环境配置和项目任务集中管理,mise 为开发者提供了统一、高效的工作流,尤其适合需要在不同项目间切换或管理复杂开发环境的场景。

💡 应用场景

最适合需要统一管理多版本开发工具、项目环境变量和构建任务的全栈开发场景。

多版本工具管理

问题:开发不同项目时需要切换不同版本的Node.js、Python等工具,手动管理多个版本很麻烦。

方案:使用mise像asdf一样管理多种开发工具版本,通过简单的命令在不同项目目录中自动切换工具版本。

示例:项目A需要Node.js 18,项目B需要Node.js 20,在各自目录下运行`mise use node@18`或`mise use node@20`即可自动切换。

项目环境变量隔离

问题:不同项目需要不同的环境变量配置,手动设置容易冲突或忘记。

方案:使用mise像direnv一样管理项目级环境变量,每个项目目录可以有自己的环境变量配置文件。

示例:在项目目录下创建`.mise.toml`文件定义环境变量,进入该目录时自动加载,离开时自动清理。

统一项目任务脚本

问题:每个项目都有不同的构建、测试、部署脚本,需要记住各种不同的命令和参数。

方案:使用mise像make一样定义和管理项目任务,通过统一命令运行不同项目的任务。

示例:在`.mise.toml`中定义`build`、`test`、`deploy`等任务,通过`mise run build`等统一命令执行。

新成员快速搭建环境

问题:新加入项目的开发者需要手动安装各种工具、配置环境变量,过程繁琐容易出错。

方案:将项目所需的工具版本、环境变量、常用任务都定义在`.mise.toml`中,新成员只需安装mise即可一键配置完整开发环境。

示例:新成员克隆项目后,运行`mise install`安装所有指定工具,环境变量自动配置,`mise run`查看可用任务。

📊 项目信息

语言
Rust
Stars
29,166
Forks
1,182
今日新增
+51
排名
#12
收录
语言榜
趋势日期
2026年6月5日
最后推送
2026/6/5

🏷️ 标签

Rust开发工具环境管理任务运行多工具支持跨语言开发者友好DevOps

📸 截图

mise screenshot 1mise screenshot 2