Using asdf to solve NVM for Fish
I hadn't used Node in a while—I've mostly been working with Bun for my projects. Recently, I tried installing NVM for Fish, but it just wouldn't work.
I searched around and found a solution that did the trick: asdf
Install asdf
brew install asdf
After following the instructions to configure Fish, I finally had access to Node.js.
brew install gpg gawk
Why?? Now I have to wait for Homebrew to upgrade all my packages 😭
Next, I installed the Node.js plugin, which was pretty fast:
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
Of course, I set the latest version of Node.js as the default:
asdf install nodejs latest
asdf performs a version lookup of a tool in all .tool-versions files from the current working directory up to the $HOME directory. The lookup occurs just-in-time when you execute a tool that asdf manages.
Yay!
asdf-nodejs supports this via both .nvmrc and .node-version files. To enable this, add the following to your asdf configuration file ($HOME/.asdfrc):
i definitely wont be migrating to .tool-versions
but nvmrc file support sounds like a no brainer.
touch ~/.tool-versions
~/Dev/ten/tengis.io main ?1 ❯ node -v
v23.11.0
asdf_tool_versions_enabled=true
And that's it—Node is working, Fish is happy, and I can get back to building stuff. 🎉