C.W.K.
Stream
Lesson 08 of 08 · published

mise / asdf — 다도구 버전 매니저

~10 min · mise, asdf, version-manager

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

도구 하나로 모든 런타임 버전

옛날엔 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) 에 우위. 프로젝트별 선택 — 공존 가능.

Code

mise 부팅·bash
brew install mise
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc
exec zsh
cd ~/myproject
mise use python@3.12 node@20
cat .mise.toml

External links

Exercise

mise 설치. 아무 프로젝트로 cd. mise use python@3.12 실행 → .mise.toml 생성 확인. 프로젝트에서 나와 python --version (글로벌). 다시 들어가면 핀된 버전.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.