asdf, nvm, pyenv, direnv 및 make를 단일 도구로 대체하는 다국어 개발 환경 관리자. 도구 버전, 환경 변수 및 프로젝트 작업 관리 — 모두 하나의 설정 파일에서.
| 플랫폼 | 명령어 |
|---|
| macOS/Linux (권장) | curl https://mise.run | sh |
| macOS (Homebrew) | brew install mise |
| Arch Linux | sudo pacman -S mise |
| Ubuntu/Debian (apt) | sudo apt install mise |
| Fedora/RHEL | sudo dnf install mise |
| Windows (Scoop) | scoop install mise |
| Cargo (모든 플랫폼) | cargo install mise |
| Nix | nix-env -iA nixpkgs.mise |
| Docker | docker run jdx/mise |
| 셸 | 설정 파일 | 추가할 명령어 |
|---|
| Bash | ~/.bashrc | eval "$(mise activate bash)" |
| Zsh | ~/.zshrc | eval "$(mise activate zsh)" |
| Fish | ~/.config/fish/config.fish | mise activate fish | source |
| PowerShell | Profile | mise activate pwsh | Out-String | Invoke-Expression |
| 명령어 | 설명 |
|---|
mise use node@22 | Node.js 22 설치 및 현재 디렉토리에 설정 |
mise use python@3.12 | Python 3.12를 현재 디렉토리에 설치 |
mise use --global node@22 | Node.js 22를 전역 기본값으로 설정 |
mise use node@lts | 최신 LTS 버전 사용 |
mise use node@latest | 절대 최신 버전 사용 |
mise install | mise.toml / .tool-versions에서 모든 도구 설치 |
mise install node | 설정된 버전의 Node.js 설치 |
mise install node@20 | 특정 버전 설치 |
mise uninstall node@18 | 특정 버전 제거 |
mise upgrade node | Node.js를 일치하는 최신 버전으로 업그레이드 |
mise upgrade | 모든 도구 업그레이드 |
mise ls | 설치된 모든 도구 버전 나열 |
mise ls node | 설치된 Node.js 버전 나열 |
mise ls-remote node | 사용 가능한 모든 Node.js 버전 표시 |
mise which node | 활성 node 바이너리 경로 표시 |
mise where node@22 | Node.js 22의 설치 디렉토리 표시 |
mise search python | ”python”과 일치하는 사용 가능한 도구 검색 |
mise exec node@20 -- node -v | 특정 도구 버전으로 명령어 실행 |
Node.js, Python, Ruby, Go, Rust, Java, Erlang, Elixir, PHP, Terraform, kubectl, Helm, Deno, Bun 및 플러그인을 통해 수백 개 이상.
| 명령어 | 설명 |
|---|
mise set MY_VAR=value | 현재 디렉토리에 환경 변수 설정 |
mise set --global API_KEY=xyz | 전역 환경 변수 설정 |
mise unset MY_VAR | 환경 변수 제거 |
mise env | 모든 활성 환경 변수 표시 |
mise env --json | 환경 변수를 JSON으로 표시 |
| 명령어 | 설명 |
|---|
mise run build | ”build” 작업 실행 |
mise run test | ”test” 작업 실행 |
mise run lint -- --fix | 추가 인수와 함께 작업 실행 |
mise tasks ls | 사용 가능한 모든 작업 나열 |
mise tasks info build | ”build” 작업에 대한 세부 정보 표시 |
mise tasks add build "npm run build" | 새 작업 생성 |
mise tasks edit build | 편집기에서 작업 편집 |
mise tasks deps | 작업 의존성 트리 표시 |
mise tasks validate | 작업 설정 검증 |
# 프로젝트 루트의 .mise.toml 또는 mise.toml
[tools]
node = "22" # 정확한 주 버전
python = "3.12" # 정확한 부 버전
terraform = "latest" # 항상 최신
ruby = "3.3.0" # 정확한 패치 버전
go = "prefix:1.22" # 최신 1.22.x
[env]
NODE_ENV = "development"
DATABASE_URL = "postgres://localhost/mydb"
# .env 파일에서 로드
_.file = ".env"
[tasks.build]
description = "프로젝트 빌드"
run = "npm run build"
depends = ["install"] # 먼저 'install' 실행
[tasks.install]
description = "의존성 설치"
run = "npm install"
[tasks.test]
description = "테스트 스위트 실행"
run = "npm test"
depends = ["build"]
[tasks.dev]
description = "개발 서버 시작"
run = "npm run dev"
# .tool-versions — asdf와 호환
node 22.0.0
python 3.12.1
ruby 3.3.0
- 현재 디렉토리의
mise.toml
- 부모 디렉토리의
mise.toml (위로 탐색)
~/.config/mise/config.toml (전역)
| 명령어 | 설명 |
|---|
mise doctor | 설정 문제 진단 |
mise version | mise 버전 표시 |
mise self-update | mise 자체 업데이트 |
mise cache clear | 다운로드 및 빌드 캐시 지우기 |
mise reshim | shim 파일 재생성 |
mise deactivate | 현재 셸에서 mise 비활성화 |
mise lock | 재현 가능한 설치를 위한 잠금 파일 생성 |
mise config ls | 활성 설정 파일 모두 나열 |
| 명령어 | 설명 |
|---|
mise plugins ls | 설치된 플러그인 나열 |
mise plugins install terraform | 플러그인 설치 |
mise plugins update | 모든 플러그인 업데이트 |
mise plugins update terraform | 특정 플러그인 업데이트 |
mise backends ls | 사용 가능한 도구 백엔드 나열 |
# 셸 설정에서 nvm 제거, 그런 다음:
mise use --global node@$(node -v | sed 's/v//')
# mise는 .tool-versions 파일을 기본적으로 읽습니다
# mise를 설치하고 활성화하기만 하면 — 기존 .tool-versions 파일이 작동합니다
# 환경 변수를 mise.toml [env] 섹션으로 이동
# mise는 디렉토리 범위 환경 변수를 기본적으로 처리합니다
# 새 프로젝트 설정
cd ~/projects/my-app
mise use node@22 python@3.12
mise set NODE_ENV=development
# 프로젝트 복제 및 부트스트랩
git clone repo && cd repo
mise install # mise.toml에서 모든 도구 설치
# 프로젝트 작업 실행
mise run dev # 개발 서버 시작
mise run test # 테스트 실행
mise run build # 프로덕션용 빌드
# 프로젝트 전체에서 도구 버전 확인
mise ls
# 도구를 최신 상태로 유지
mise upgrade # 모든 도구를 최신으로 업그레이드
| 기능 | asdf | nvm | direnv | mise |
|---|
| 다중 언어 | 예 | Node만 | 아니오 | 예 |
| 환경 변수 | 아니오 | 아니오 | 예 | 예 |
| 작업 실행기 | 아니오 | 아니오 | 아니오 | 예 |
| 설정 파일 | .tool-versions | .nvmrc | .envrc | mise.toml + .tool-versions |
| 속도 | 느림 (셸) | 보통 | 빠름 | 빠름 (Rust) |
| Shims | 예 | 예 | 아니오 | 예 |