Migrating from rbenv / nvm to mise

Updated . Posted . Visible to the public.

Mise Show archive.org snapshot is a fast tool that can manage your Ruby and Node.js (+ pnpm) versions. It replaces rbenv and nvm in that regard.

It installs precompiled Ruby binaries, so installing a new version will take seconds, not minutes.

The switch only takes some minutes using the instructions below. After this you will need to re-install your Ruby and Node versions, as well as global gems and npm packages.

Remove shell configuration for rbenv and nvm

Search for rbenv and nvm in your ~/.bashrc and ~/.profile. Then remove all lines related to rbenv or nvm.

Lines will look like this, but might look slightly different in your configuration:

eval "$(rbenv init - bash)"

source /home/$user/.rbenvrc

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

Remove installed version of Ruby and Node

Installed versions live in your home. You can remove them like this:

rm -rf ~/.rbenv
rm -rf ~/.nvm

Install mise

Follow the installation guidelines at https://mise.jdx.dev/getting-started.html Show archive.org snapshot , especially these steps:

Then check if the installation succeeded with mise -v:

$ mise -v
              _                                        __              
   ____ ___  (_)_______        ___  ____        ____  / /___ _________
  / __ `__ \/ / ___/ _ \______/ _ \/ __ \______/ __ \/ / __ `/ ___/ _ \
 / / / / / / (__  )  __/_____/  __/ / / /_____/ /_/ / / /_/ / /__/  __/
/_/ /_/ /_/_/____/\___/      \___/_/ /_/     / .___/_/\__,_/\___/\___/
                                            /_/                 by @jdx
2026.10.10 linux-x64 (2026-10-14)

Add mise configuration

We want to keep versions in .ruby-version and .nvmrc, not mise.toml.

For this, add the following configuration to ~/.config/mise/config.toml

[settings]
idiomatic_version_file_enable_tools = ["ruby", "node", "pnpm"]

[tools]
ruby = "latest"

Re-open terminal windows

We changed bash configuration above, but your existing terminal windows are still using the old settings.

Close and re-open your terminal windows.

Using mise

When you cd into a project folder, mise will automatically activate the correct version of Ruby, Node and pnpm for you.

When a version is missing, mise will print a warning when you cd. You can then install missing versions with mise install:

$ cd my-project
mise WARN  missing: ruby@3.4.4 node@22.15.1
$ mise install

Tip

Do not call mise use, which would a mise.toml to your project.

Mise will also install missing versions when you try to use them the first time (e.g. you call node or ruby).

Profile picture of Thomas Eisenbarth
Thomas Eisenbarth
Last edit
Henning Koch
Keywords
migrate, shell
License
Source code in this card is licensed under the MIT License.
Posted by Thomas Eisenbarth to makandra dev (2025-11-11 09:15)