← Back to list

Migrating from asdf to mise without the headaches

1. Remove asdf plugins and uninstall asdf

0𝕏koji · 2026-01-04 03:18 · 0 claps · 1.9 min read
#mises #cli #asdf #web-development #tools
Open on Medium ↗
Wiki topics: 🌐 · Web Development

Migrating from asdf to mise without the headaches

1. Remove asdf plugins and uninstall asdf

# remove plugins
asdf plugin list | xargs -n 1 asdf plugin remove
# uninstall asdf
brew uninstall asdf --force
brew autoremove

clean up .zshrc

# ASDF configuration
. "$BREW_PREFIX/opt/asdf/libexec/asdf.sh"

remove files

rm -rf ~/.asdf
rm -rf ~/.tool-versions

Confirmed that asdf has been deleted.

brew list asdf
# if you can remove asdf successfully, you will see something like this
Error: No such keg: /opt/homebrew/Cellar/asdf
Execution time: 0.88s

2. Install mise

https://github.com/jdx/mise

https://mise.jdx.dev/getting-started.html

brew install mise
# if you install mise successfully, you can see this when running version command
 mise --version
              _                                        __              
   ____ ___  (_)_______        ___  ____        ____  / /___ _________
  / __ `__ \/ / ___/ _ \______/ _ \/ __ \______/ __ \/ / __ `/ ___/ _ \
 / / / / / / (__  )  __/_____/  __/ / / /_____/ /_/ / / /_/ / /__/  __/
/_/ /_/ /_/_/____/\___/      \___/_/ /_/     / .___/_/\__,_/\___/\___/
                                            /_/                 by @jdx
2025.12.12 macos-arm64 (2025-12-18)
Execution time: 0.90s

add the following to .zshrc. If you use bash or fish, you need to replace zsh with bash/fish

eval "$(mise activate zsh)"

3. Install mise plugins

In my case, I need to install nodejs, pnpm, bun, yarn, and python.

First check available plugins

mise plugins ls-remote

Also check the core list

mise plugins ls --core
bun
deno
elixir
erlang
go
java
node
python
ruby
rust
swift
zig

Then check available version for each plugin

# Check available nodes version
mise ls-remote node
mise ls-remote pnpm
mise ls-remote bun
mise ls-remote yarn
mise ls-remote python

Finally install

mise install node@22.21.1
mise install yarn@1.22.22
mise install pnpm@10.22.0
mise install bun@1.3.5
mise install python@3.12.12

or you can install them via mise.toml

  1. create mise.toml in your repo folder
  2. add [tools] to mise.toml For this case, the toml file is like below
[tools]
node = "22.21.1"
python = "3.12.12"
yarn = "1.22.22"
pnpm = "10.22.0"
  1. install versions
mise ERROR error parsing config file: ~/Desktop/dev_test/blog/mise.toml
mise ERROR Config files in ~/Desktop/dev_test/blog/mise.toml are not trusted.
Trust them with `mise trust`. See https://mise.jdx.dev/cli/trust.html for more information.
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information
# if you see the above Error message, you need to run the trust command to accept the config file.
mise trust
mise install

Check versions

yarn -v
1.22.22
Execution time: 0.17s  
node -v
v22.21.1
Execution time: 0.03s    
python --version
Python 3.12.12
Execution time: 0.04s

If you see something like this, probably you are missing adding the eval command to your .zshrc

node -v
zsh: command not found: node

You need to add the following to .zshrc.

eval "$(mise activate zsh)"

4. asdf → mise command mapping


메타데이터
post_id
fad759f33dce
slug
migrating-from-asdf-to-mise-without-the-headaches-fad759f33dce
url
https://medium.com/@koji-kanao/migrating-from-asdf-to-mise-without-the-headaches-fad759f33dce
canonical_url
https://medium.com/@koji-kanao/migrating-from-asdf-to-mise-without-the-headaches-fad759f33dce
author_url
https://medium.com/@koji-kanao
status
ok
fetched_at
2026-07-13 17:02:51