Awesome
<div align="center"> <h1><a href="https://mise.jdx.dev"> <img src="https://github.com/jdx/mise/assets/216188/27a8ea18-9383-4d86-a445-305b9a6248c1" alt="mise-logo" width="400" /><br /> mise-en-place </a></h1> <!-- <a href="https://mise.jdx.dev"><picture> --> <!-- <source media="(prefers-color-scheme: dark)" width="617" srcset="./docs/logo-dark@2x.png"> --> <!-- <img alt="mise logo" width="617" src="./docs/logo-light@2x.png"> --> <!-- </picture></a> --> <a href="https://crates.io/crates/mise"><img alt="Crates.io" src="https://img.shields.io/crates/v/mise?style=for-the-badge"></a> <a href="https://github.com/jdx/mise/blob/main/LICENSE"><img alt="GitHub" src="https://img.shields.io/github/license/jdx/mise?color=%2344CC11&style=for-the-badge"></a> <a href="https://github.com/jdx/mise/actions/workflows/test.yml"><img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/jdx/mise/test.yml?style=for-the-badge"></a> <a href="https://discord.gg/mABnUDvP57"><img alt="Discord" src="https://img.shields.io/discord/1066429325269794907?color=%23738ADB&style=for-the-badge"></a> <p><em>The front-end to your dev env.</em></p> </div>What is it?
- Like asdf (or nvm or pyenv but for any language) it manages dev tools like node, python, cmake, terraform, and hundreds more.
- Like direnv it manages environment variables for different project directories.
- Like make it manages tasks used to build and test projects.
30 Second Demo
The following shows using mise to install different versions
of node.
Note that calling which node
gives us a real path to node, not a shim.
Quickstart
Install mise (other methods here):
$ curl https://mise.run | sh
$ ~/.local/bin/mise --version
2024.12.17 macos-arm64 (a1b2d3e 2024-12-21)
or install a specific a version:
$ curl https://mise.run | MISE_VERSION=v2024.5.16 sh
$ ~/.local/bin/mise --version
2024.5.16 macos-arm64 (8838098 2024-05-14)
Hook mise into your shell (pick the right one for your shell):
# note this assumes mise is located at ~/.local/bin/mise
# which is what https://mise.run does by default
echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc
echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc
echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish
echo '~/.local/bin/mise activate mise activate pwsh | Out-String | Invoke-Expression' >> ~/.config/powershell/Microsoft.PowerShell_profile.ps1
Install a runtime and set it as the global default:
$ mise use --global node@20
$ node -v
v20.0.0
Full Documentation
See mise.jdx.dev