jdx/mise

GitHub: jdx/mise

一个面向开发的多语言环境与任务管理工具,解决工具链与环境配置混乱问题。

Stars: 26816 | Forks: 1062

mise
mise-en-place

Crates.io GitHub GitHub Workflow Status Discord

你的开发环境前端

快速上手文档开发工具环境任务


## 它是什么? - 就像 [asdf](https://asdf-vm.com)(或 [nvm](https://github.com/nvm-sh/nvm) 或 [pyenv](https://github.com/pyenv/pyenv),但适用于任何语言),它管理 [开发工具](https://mise.jdx.dev/dev-tools/),如 node、python、cmake、terraform,以及 [数百种其他工具](https://mise.jdx.dev/registry.html)。 - 就像 [direnv](https://github.com/direnv/direnv),它为不同项目目录管理 [环境变量](https://mise.jdx.dev/environments/)。 - 就像 [make](https://www.gnu.org/software/make/manual/make.html),它管理用于构建和测试项目的 [任务](https://mise.jdx.dev/tasks/)。 ## 演示 以下演示展示了如何安装并使用 `mise` 在同一系统上管理多个版本的 `node`。 注意,调用 `which node` 会给我们一个指向 node 的真实路径,而不是一个 shim。 它还展示了你可以使用 `mise` 来安装许多其他工具,例如 `jq`、`terraform` 或 `go`。 [![demo](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/d3431db746191317.gif)](https://mise.jdx.dev/demo.html) 参见 [演示文稿](https://mise.jdx.dev/demo.html)。 ## 快速开始 ### 安装 mise 参见 [Getting started](https://mise.jdx.dev/getting-started.html) 获取更多选项。 ``` $ curl https://mise.run | sh $ ~/.local/bin/mise --version _ __ ____ ___ (_)_______ ___ ____ ____ / /___ _________ / __ `__ \/ / ___/ _ \______/ _ \/ __ \______/ __ \/ / __ `/ ___/ _ \ / / / / / / (__ ) __/_____/ __/ / / /_____/ /_/ / / /_/ / /__/ __/ /_/ /_/ /_/_/____/\___/ \___/_/ /_/ / .___/_/\__,_/\___/\___/ /_/ by @jdx 2026.4.16 macos-arm64 (2026-04-17) ``` 将 mise 集成到你的 shell 中(选择适合你 shell 的选项): ``` # 注意这假设 `mise` 位于 `~/.local/bin/mise` # 这正是 https://mise.run 默认执行的操作 echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish echo '~/.local/bin/mise activate pwsh | Out-String | Invoke-Expression' >> ~/.config/powershell/Microsoft.PowerShell_profile.ps1 ``` ### 使用特定工具执行命令 ``` $ mise exec node@26 -- node -v mise node@26.x.x ✓ installed v26.x.x ``` ### 安装工具 ``` $ mise use --global node@26 go@1 $ node -v v26.x.x $ go version go version go1.x.x macos/arm64 ``` 参见 [开发工具](https://mise.jdx.dev/dev-tools/) 获取更多示例。 ### 管理环境变量 ``` # mise.toml [env] SOME_VAR = "foo" ``` ``` $ mise set SOME_VAR=bar $ echo $SOME_VAR bar ``` 注意 `mise` 也可以 [加载 `.env` 文件](https://mise.jdx.dev/environments/#env-directives)。 ### 运行任务 ``` # mise.toml [tasks.build] description = "build the project" run = "echo building..." ``` ``` $ mise run build building... ``` 参见 [任务](https://mise.jdx.dev/tasks/) 获取更多信息。 ### 示例 mise 项目 这是一个组合示例,让你了解如何使用 mise 管理项目的工具、环境和任务。 ``` # mise.toml [tools] terraform = "1" aws-cli = "2" [env] TF_WORKSPACE = "development" AWS_REGION = "us-west-2" AWS_PROFILE = "dev" [tasks.plan] description = "Run terraform plan with configured workspace" run = """ terraform init terraform workspace select $TF_WORKSPACE terraform plan """ [tasks.validate] description = "Validate AWS credentials and terraform config" run = """ aws sts get-caller-identity terraform validate """ [tasks.deploy] description = "Deploy infrastructure after validation" depends = ["validate", "plan"] run = "terraform apply -auto-approve" ``` 运行方式: ``` mise install # install tools specified in mise.toml mise run deploy ``` 在 [mise 食谱](https://mise.jdx.dev/mise-cookbook/) 中查找更多示例。 ## 完整文档 参见 [mise.jdx.dev](https://mise.jdx.dev) ## GitHub 问题与讨论 由于收到的 issue 数量过多,使用 GitHub Issues 对项目来说已不可持续。 相反,mise 使用 GitHub Discussions,它提供了一个更具社区导向的平台用于交流,并且维护人员的管理负担更少。 请注意以下讨论分类,它们与问题的使用方式相匹配: - [公告](https://github.com/jdx/mise/discussions/categories/announcements) - [想法](https://github.com/jdx/mise/discussions/categories/ideas):功能请求等。 - [故障排除与错误报告](https://github.com/jdx/mise/discussions/categories/troubleshooting-and-bug-reports) ## 特别感谢 我们感谢 Cloudflare 通过 [Project Alexandria](https://www.cloudflare.com/lp/project-alexandria/) 提供的支持。 ## 贡献者 [![Contributors](https://contrib.rocks/image?repo=jdx/mise)](https://github.com/jdx/mise/graphs/contributors)
标签:asdf, dev tools, direnv, env vars, make, Rust, SEO: dev tools, SEO: 任务运行器, SEO: 环境变量, SOC Prime, task runner, 二进制发布, 任务运行器, 前端开发环境, 可视化界面, 多语言版本管理, 开发工具, 开发环境配置, 开源工具, 环境变量管理, 网络流量审计, 通知系统, 项目任务管理