jdx/mise
요약
mise는 Node.js, Python, Terraform 등 다양한 개발 도구와 프로젝트별 환경 변수, 빌드/테스트 태스크까지 통합적으로 관리하는 강력한 CLI 도구입니다. asdf나 direnv의 기능을 하나로 합친 개념으로, `mise.toml` 파일을 통해 필요한 버전과 설정을 정의하고, `mise install`, `mise run` 명령어로 쉽게 프로젝트를 설정하고 실행할 수 있습니다. 이를 통해 개발 환경의 일관성을 확보하고 복잡한 의존성 관리를 간소화합니다.
핵심 포인트
- 다양한 언어 및 도구 버전 관리: Node, Python, Terraform 등 여러 개발 도구를 단일 시스템에서 쉽게 설치하고 전환할 수 있습니다 (예: `mise exec node@26`).
- 프로젝트 환경 변수 설정: `.env` 파일 로드뿐만 아니라 `mise.toml`을 통해 프로젝트별 전역 환경 변수를 정의하고 관리할 수 있습니다.
- 통합된 태스크 실행 시스템: 빌드, 테스트, 배포 등 복잡한 워크플로우를 `[tasks]` 섹션에 정의하고 의존성(`depends`)까지 설정하여 일괄적으로 실행할 수 있습니다 (예: `mise run deploy`).
- 설정 파일 구조화: 모든 프로젝트의 도구 버전, 환경 변수, 태스크가 단일 `mise.toml` 파일에 통합되어 관리됩니다.
asdf(또는 nvm 또는 pyenv)처럼 노드(node), 파이썬(python), cmake, terraform 등 수백 가지의 개발 도구(dev tools)를 관리합니다.
direnv처럼 다양한 프로젝트 디렉터리별로 환경 변수(environment variables)를 관리합니다.
make처럼 프로젝트 빌드 및 테스트에 사용되는 작업을 관리합니다.
다음 데모는 mise을 설치하고 사용하여 시스템에서 여러 버전의 node를 관리하는 방법을 보여줍니다.
which node를 호출하면 셰이밍(shim)이 아닌 실제 경로(real path)를 얻게 된다는 점에 유의하십시오. 또한, mise을 사용하여 jq, terraform 또는 go와 같은 다른 도구들을 설치할 수 있다는 것도 보여줍니다.
데모 스크립트(demo transcript)를 참조하십시오.
더 많은 옵션은 Getting started를 참조하십시오.
$ curl https://mise.run | sh
$ ~/.local/bin/mise --version
____ ___ ()______ ___ ____ ____ / /___ _________
/ __ __ \/ / ___/ _ \______/ _ \/ __ \______/ __ \/ / __ / / _
/ / / / / / ( ) // / / / // // / / // / /__/ __/
// // ////_/ ___// // / ./_/\,/\/\/
/_/ by @jdx
2026.4.19 macos-arm64 (2026-04-22)
셸(shell)에 mise을 연결하십시오 (사용하는 셸에 맞는 것을 선택하세요):
이 코드는 mise이 ~/.local/bin/mise에 위치한다고 가정합니다.
https://mise.run이 기본적으로 하는 방식입니다.
echo 'eval "$(~/.local/bin/mise activate bash)"' >> /.bashrc/.local/bin/mise activate zsh)"' >>
echo 'eval "$(/.zshrc/.local/bin/mise activate fish | source' >>
echo '/.config/fish/config.fish/.local/bin/mise activate pwsh | Out-String | Invoke-Expression' >> ~/.config/powershell/Microsoft.PowerShell_profile.ps1
echo '
$ mise exec node@26 -- node -v
mise node@26.x.x ✓ installed
v26.x.x
$ mise use --global node@26 go@1
$ node -v
v26.x.x
$ go version
go version go1.x.x macos/arm64
더 많은 예시는 dev tools를 참조하십시오.
mise.toml
[env]
SOME_VAR = "foo"
$ mise set SOME_VAR=bar
$ echo $SOME_VAR
bar
mise이 .env 파일을 로드할 수도 있다는 점에 유의하십시오.
mise.toml
[tasks.build]
description = "빌드(build) 프로젝트"
run = "echo building..."
$ mise run build
building...
자세한 내용은 tasks를 참조하십시오.
여기에 mise을 사용하여 프로젝트의 도구, 환경 및 작업을 관리하는 방법을 보여주는 결합된 예시가 있습니다.
mise.toml
[tools]
terraform = "1"
aws-cli = "2"
[env]
TF_WORKSPACE = "development"
AWS_REGION = "us-west-2"
AWS_PROFILE = "dev"
[tasks.plan]
description = "설정된 작업 공간(workspace)으로 terraform plan 실행"
run = """
terraform init
terraform workspace select $TF_WORKSPACE
terraform plan
"""
[tasks.validate]
description = "AWS 자격 증명 및 terraform 설정 검증"
run = """
aws sts get-caller-identity
terraform validate
"""
[tasks.deploy]
de
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Rust (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기