Software · Languages and runtimes

mise

Installs and switches versions of Ruby, Node, Python and other tools, per project.

Installed from
installer
Run it
mise
Website
mise.jdx.dev
Source
github.com/jdx/mise

What it is

mise is a version manager for programming languages and developer tools. It installs as many versions of Ruby, Node.js, Python, Go and hundreds of other tools as you need, and switches between them automatically as you move between projects, based on a mise.toml (or an asdf .tool-versions file) in each project. It can also set environment variables and run tasks for a project.

Why it’s here

  • The right version per project. Change directory and the versions change with you.
  • One tool for every language. No separate rbenv, nvm and pyenv.
  • Fast. It changes your PATH directly instead of running every command through a wrapper.

On CoreDesktop

CoreDesktop installs mise with its official installer from mise.run, which puts it in ~/.local/bin and turns it on in ~/.bashrc. CoreDesktop uses it to install Ruby and Rails, and update runs mise self-update and upgrades Ruby. Commands run over SSH can find tools installed with mise, and the ga function, which creates a Git worktree, trusts the new worktree’s mise config.

mise use node@22