Mise¶
Mise is a tool for managing Software environments. It allows you to easily install and switch own versions of Python
, Node.js
, Ruby
(Replacement for RVM), Rust
and Go (Golang)
.
Python¶
To install own version of Python using Mise, follow these steps:
Install the Python interpreter¶
Mise is globally installed and ready to use. You can install a specific Python version by running the following command:
$ TMPDIR=~/.tmp mise install python@3.13
This will download and install Python version 3.13
. You can check installed Python versions by running:
$ mise list
Activate new Python¶
Add ~/.local/share/mise/installs/python/X.Y.Z/bin
to $PATH
by executing:
$ eval "$(mise env -s bash python@3.13)"
or add the new $PATH
to ~/.bash_profile
to apply the environment automatically during every login:
$ mise env -s bash python@3.13 >> ~/.bash_profile
Install ipython (optional)¶
After installing Python, you may want to install IPython
, an enhanced interactive Python shell:
$ mise exec python@3.13 -- pip install ipython
Once installed, you can start an interactive IPython
session by running:
$ mise exec python@3.13 -- ipython
Node.js¶
To install Node.js using Mise, follow these steps:
Install the Node.js runtime¶
Mise is globally installed and ready to use. You can install a specific Node.js version by running the following command:
$ TMPDIR=~/.tmp mise install node@22
This will download and install Node.js version 22
. You can check installed Node.js versions by running:
$ mise list
Activate new Node.js¶
Add ~/.local/share/mise/installs/node/X.Y.Z/bin
to $PATH
by executing:
$ eval "$(mise env -s bash node@22)"
or add the new $PATH
to ~/.bash_profile
to apply the environment automatically during every login:
$ mise env -s bash node@22 >> ~/.bash_profile
Install Yarn (optional)¶
After installing Node.js, you may want to install Yarn
, an alternative package manager to npm
:
$ mise exec node@22 -- corepack enable
$ mise exec node@22 -- npm install -g yarn
To verify the installation:
$ mise exec node@22 -- yarn --version
Ruby¶
To install Ruby using Mise, follow these steps:
Install the Ruby interpreter¶
Mise is globally installed and ready to use, you can install a specific Ruby version by running the following command:
$ TMPDIR=~/.tmp mise install ruby@3.3
This will download and install Ruby version 3.3
. You can check installed Ruby versions by running:
$ mise list
Activate new Ruby¶
Add ~/.local/share/mise/installs/ruby/X.Y.Z/bin
to $PATH by executing:
$ eval "$(mise env -s bash ruby@3.3)"
or add new $PATH to ~/.bash_profile
file to apply enviroment automatically during every login:
$ mise env -s bash ruby@3.3 >> .~/.bash_profile
Install Bundler (optional)¶
After installing Ruby, you may want to install bundler
to manage your project's gems:
$ mise exec ruby@3.3 -- gem install bundler
Rust¶
To install your own version of Rust using Mise, follow these steps:
Install the Rust toolchain¶
Mise is globally installed and ready to use. You can install a specific Rust version by running the following command:
$ TMPDIR=~/.tmp mise install rust@1.76
This will download and install Rust version 1.76
. You can check installed Rust versions by running:
$ mise list
Activate new Rust¶
Add ~/.local/share/mise/installs/rust/X.Y.Z/bin
to $PATH
by executing:
$ eval "$(mise env -s bash rust@1.76)"
or add the new $PATH
to ~/.bash_profile
to apply the environment automatically during every login:
$ mise env -s bash rust@1.76 >> ~/.bash_profile
Install Cargo Edit (optional)¶
After installing Rust, you may want to install cargo-edit
, which adds useful commands for managing dependencies:
$ mise exec rust@1.76 -- cargo install cargo-edit
With cargo-edit
, you can:
- Add a dependency (e.g.
serde
):$ mise exec rust@1.76 -- cargo add serde
- Remove a dependency (e.g.
serde
):$ mise exec rust@1.76 -- cargo rm serde
- Upgrade dependencies:
$ mise exec rust@1.76 -- cargo upgrade
Golang¶
To install your own version of Go (Golang) using Mise, follow these steps:
Install the Go runtime¶
Mise is globally installed and ready to use. You can install a specific Go version by running the following command:
$ TMPDIR=~/.tmp mise install go@1.24
This will download and install Go version 1.24
. You can check installed Go versions by running:
$ mise list
Activate new Go¶
Add ~/.local/share/mise/installs/go/X.Y.Z/bin
to $PATH
by executing:
$ eval "$(mise env -s bash go@1.24)"
or add the new $PATH
to ~/.bash_profile
to apply the environment automatically during every login:
$ mise env -s bash go@1.24 >> ~/.bash_profile
Install golangci-lint (optional)¶
After installing Go, you may want to install golangci-lint
, a fast and flexible linter for Go projects:
$ mise exec go@1.24 -- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
Once installed, you can verify it by running:
$ mise exec go@1.24 -- golangci-lint --version
Rebuild¶
- Reinstall Python:
To reinstall a specific version of Python, use:
$ TMPDIR=~/.tmp mise reinstall python@3.13
- Reinstall Node.js:
To reinstall a specific version of Node.js, use:
$ TMPDIR=~/.tmp mise reinstall node@22
- Reinstall Ruby:
To reinstall a specific version of Ruby, use:
$ TMPDIR=~/.tmp mise reinstall ruby-3.3
- Reinstall Gems:
To reinstall all gems for the current Ruby version, run:
$ gem pristine --all
- Reinstall Rust:
To reinstall a specific version of Rust, use:
$ TMPDIR=~/.tmp mise reinstall rust@1.76
- Reinstall Golang:
To reinstall a specific version of Go (Golang), use:
$ TMPDIR=~/.tmp mise reinstall go@1.24
Variables for Passenger¶
To set environment variables for your project, you can add them to the ~/.bash_profile
file (e.g., export TESTENV=1
). These variables will be visible to the application when launched by Passenger.
Warning
Variables will not be used from ~/.bashrc
or ~/.shrc
.
Plugins¶
Mise manages different programming language versions and runtimes using plugins. Most plugins are automatically installed when you install a language version, so you typically don’t need to install them manually.
Listing Available Plugins¶
To see a list of all available plugins in the Mise registry, run:
$ mise registry list
Installing a Language (Plugin Auto-Installation)¶
Plugins in Mise are automatically installed when you install a language version. For example, to install Lua 5.4:
$ TMPDIR=~/.tmp mise install lua@5.4
Mise will automatically fetch the Lua plugin if it isn’t already installed and then install Lua 5.4.
Listing Installed Plugins¶
To check which plugins are installed on your instantion, run:
$ mise plugins list
Updating Plugins¶
To update all installed plugins to their latest versions:
$ mise plugins update
To update a specific plugin:
$ mise plugins update lua