Mise — Dev Environment Manager for Any Language
Single tool to manage Node, Python, Go, Rust, Java, and 100+ dev tool versions. Replaces nvm, pyenv, rbenv with one CLI. Project-level version pinning via .mise.toml. 12,000+ stars.
先审查再安装
这个资产需要先审查。复制的指令会要求 Agent dry-run、列出写入项,确认后再继续。
npx -y tokrepo@latest install 797fff66-130d-4062-a7a4-ef80acb2e0b2 --target codex先 dry-run,确认写入项后再运行此命令。
What it is
Mise is a development environment manager that handles version management for Node, Python, Go, Rust, Java, and 100+ other tools through a single CLI. It replaces the collection of version managers (nvm, pyenv, rbenv, sdkman) that developers typically install and maintain separately.
Mise uses a .mise.toml file for project-level version pinning. When you cd into a project directory, Mise automatically activates the correct versions of all tools. It also supports .tool-versions (asdf format) and .node-version files for backward compatibility.
How it saves time or tokens
Mise eliminates the overhead of installing and configuring multiple version managers. Instead of learning the syntax for nvm, pyenv, and rbenv separately, you use one consistent CLI. Switching between projects with different Node and Python versions is automatic.
The estimated token cost for a typical Mise configuration is around 2,600 tokens. This small upfront investment pays off by preventing version mismatch bugs and onboarding delays.
How to use
- Install Mise:
curl https://mise.run | sh
- Install tools and pin versions:
mise use node@20
mise use python@3.12
mise use go@1.22
- This creates a
.mise.tomlin your project:
[tools]
node = "20"
python = "3.12"
go = "1.22"
Example
A full-stack project with multiple tools:
# .mise.toml
[tools]
node = "20.12"
python = "3.12"
go = "1.22"
rust = "1.77"
java = "21"
[env]
DATABASE_URL = "postgres://localhost/myapp"
[tasks.dev]
run = "npm run dev"
description = "Start development server"
[tasks.test]
run = "npm test && go test ./..."
description = "Run all tests"
Mise also manages environment variables and custom tasks, replacing both version managers and simple task runners.
Related on TokRepo
- AI tools for coding -- Development tools and environment management
- Automation tools -- Tools for automating development workflows
Common pitfalls
- Forgetting to activate Mise in your shell. Add
eval "$(mise activate zsh)"(or bash/fish) to your shell profile. Without activation, version switching does not happen automatically. - Conflicting with existing version managers. If nvm and Mise both manage Node, they may fight over PATH priority. Remove or disable nvm before switching to Mise.
- Not committing
.mise.tomlto the repository. The file should be version-controlled so all team members use the same tool versions. Addmise trustin your onboarding docs.
常见问题
Mise is a rewrite of asdf concepts in Rust. It is faster (10-100x for many operations), supports .mise.toml configuration, includes built-in environment variable management and task running, and does not require shell function installation for basic usage.
Yes. Mise is compatible with asdf plugins. Any asdf plugin works with Mise. Additionally, Mise has its own core plugins for common tools (Node, Python, Go) that are faster than the asdf equivalents.
Yes. Mise supports an [env] section in .mise.toml for project-specific environment variables. Variables are loaded when you enter the project directory and unloaded when you leave. This replaces tools like direnv for many use cases.
Mise has experimental Windows support. It works best on macOS and Linux. On Windows, consider using WSL2 where Mise runs natively in the Linux environment.
Install Mise, then run 'mise use node@<version>' and 'mise use python@<version>' to pin your current versions. Mise reads .node-version and .python-version files for backward compatibility. Once confirmed working, remove nvm/pyenv from your shell profile.
引用来源 (3)
- Mise GitHub— Mise manages Node, Python, Go, and 100+ dev tool versions
- Mise Documentation— Project-level version pinning via .mise.toml configuration
- asdf GitHub— asdf plugin compatibility and migration
来源与感谢
Created by Jeff Dickey. Licensed under MIT.
mise — ⭐ 12,000+
讨论
相关资产
Mise — Dev Tool Manager for Every Language
One tool to manage Node, Python, Ruby, Go, Rust, and 100+ dev tool versions. Replaces nvm, pyenv, rbenv. 26K+ GitHub stars.
Conda — Cross-Platform Package and Environment Manager
Install, update, and manage packages and isolated environments for Python, R, C/C++, and hundreds of other languages from a single tool.
dotenvx — Secure Environment Variable Management from the Creator of dotenv
Encrypt, manage, and inject environment variables across all your environments. dotenvx extends the original dotenv with encryption, multiple environment support, and a universal CLI that works with any language or framework.
Emdash — Parallel Multi-Agent Dev Environment
Open-source agentic development environment (YC W26) that runs multiple AI coding agents in parallel, each in isolated git worktrees. Supports Claude Code, Codex, Gemini CLI, and 20+ agents. 3,600+ stars.