도구 하나로 모든 런타임 버전
옛날엔 Node 는 nvm, Python 은 pyenv, Ruby 는 rbenv, Java 는 jenv. mise (구 rtx) 와 asdf 가 다 한 CLI 로 대체 — 프로젝트별 버전을 config 파일 하나로 핀.
mise 설치
brew install mise
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc프로젝트별 버전 핀
# 프로젝트 루트에서
mise use python@3.12 node@20 ruby@3.3
# .mise.toml 에 pin 작성
cat .mise.toml
# cd 하는 사람마다 자동으로 올바른 버전.mise.toml 이 프로젝트의 source of truth. 새 머신에서 mise install 로 핀된 버전 다운로드 — 그 후 프로젝트 디렉터리 안에선 항상 올바른 런타임 활성.
글로벌 도구 default
mise use -g python@3.12 node@22
mise list # 설치된 거
mise upgrade # 핀 버전을 최신 patch 로왜 asdf 보다 mise
- 더 빠름 (Rust binary; asdf 는 shell 스크립트).
- asdf 플러그인 기본 호환.
- env 변수 관리 내장 (
[env]in mise.toml). - direnv 스타일 hook — 두 번째 도구 불필요.
새로 시작이면 mise. 작동 중인 asdf 셋업 있으면 급하지 않음 — 둘 다 건강한 프로젝트.
Pippa 메모
cwkPippa 는 Python 에 conda + direnv 사용 — ML 패키지용 conda 생태계 중요해서. mise 는 non-ML 스택 (웹, 스크립팅, Java) 에 우위. 프로젝트별 선택 — 공존 가능.