콘텐츠로 이동

mise - 개발 환경 관리자 치트시트

mise - 개발 환경 관리자 치트시트

섹션 제목: “mise - 개발 환경 관리자 치트시트”

asdf, nvm, pyenv, direnv 및 make를 단일 도구로 대체하는 다국어 개발 환경 관리자. 도구 버전, 환경 변수 및 프로젝트 작업 관리 — 모두 하나의 설정 파일에서.

플랫폼명령어
macOS/Linux (권장)curl https://mise.run | sh
macOS (Homebrew)brew install mise
Arch Linuxsudo pacman -S mise
Ubuntu/Debian (apt)sudo apt install mise
Fedora/RHELsudo dnf install mise
Windows (Scoop)scoop install mise
Cargo (모든 플랫폼)cargo install mise
Nixnix-env -iA nixpkgs.mise
Dockerdocker run jdx/mise
설정 파일추가할 명령어
Bash~/.bashrceval "$(mise activate bash)"
Zsh~/.zshrceval "$(mise activate zsh)"
Fish~/.config/fish/config.fishmise activate fish | source
PowerShellProfilemise activate pwsh | Out-String | Invoke-Expression
명령어설명
mise use node@22Node.js 22 설치 및 현재 디렉토리에 설정
mise use python@3.12Python 3.12를 현재 디렉토리에 설치
mise use --global node@22Node.js 22를 전역 기본값으로 설정
mise use node@lts최신 LTS 버전 사용
mise use node@latest절대 최신 버전 사용
mise installmise.toml / .tool-versions에서 모든 도구 설치
mise install node설정된 버전의 Node.js 설치
mise install node@20특정 버전 설치
mise uninstall node@18특정 버전 제거
mise upgrade nodeNode.js를 일치하는 최신 버전으로 업그레이드
mise upgrade모든 도구 업그레이드
mise ls설치된 모든 도구 버전 나열
mise ls node설치된 Node.js 버전 나열
mise ls-remote node사용 가능한 모든 Node.js 버전 표시
mise which node활성 node 바이너리 경로 표시
mise where node@22Node.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

설정 계층 (가장 구체적인 것이 우선)

섹션 제목: “설정 계층 (가장 구체적인 것이 우선)”
  1. 현재 디렉토리의 mise.toml
  2. 부모 디렉토리의 mise.toml (위로 탐색)
  3. ~/.config/mise/config.toml (전역)
명령어설명
mise doctor설정 문제 진단
mise versionmise 버전 표시
mise self-updatemise 자체 업데이트
mise cache clear다운로드 및 빌드 캐시 지우기
mise reshimshim 파일 재생성
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              # 모든 도구를 최신으로 업그레이드
기능asdfnvmdirenvmise
다중 언어Node만아니오
환경 변수아니오아니오
작업 실행기아니오아니오아니오
설정 파일.tool-versions.nvmrc.envrcmise.toml + .tool-versions
속도느림 (셸)보통빠름빠름 (Rust)
Shims아니오