fnm VS asdf

Compare fnm vs asdf and see what are their differences.

fnm

🚀 Fast and simple Node.js version manager, built in Rust (by Schniz)

asdf

Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more (by asdf-vm)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
fnm asdf
62 339
15,015 20,215
- 3.0%
7.3 7.9
6 days ago 11 days ago
Rust Shell
GNU General Public License v3.0 only MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

fnm

Posts with mentions or reviews of fnm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-07.
  • How to beautify java code reliably
    2 projects | dev.to | 7 Feb 2024
    Install nodejs: (I highly recommend using a node version manager like fnm) and to install a recent node version (current long term support is 16+)
  • Effective nodejs version management for the busy developer
    3 projects | dev.to | 4 Feb 2024
    I highly recommend setting up nodejs with a version manager, nvm was and still is a popular option, however, I now recommend and have been using fnm, a simpler and faster alternative to manage my nodejs versions.
  • Oh My Zsh
    19 projects | news.ycombinator.com | 22 Jan 2024
    I switched from nvm to fnm a few years ago and have never looked back. Zero performance issues and it supports .nvmrc files.

    https://github.com/Schniz/fnm

  • Everything I Installed on My New Mac
    11 projects | dev.to | 3 Jun 2023
    fnm is a fast and simple Node.js version manager. It's really easy to use and is much faster than nvm.
  • Report on platform-compliance for cargo directories
    9 projects | /r/rust | 23 May 2023
    As a macOS user, it boils my brain whenever I've to type in something like ~/Library/Application Support/org.rust-lang.Cargo/config.toml. macOS users have been begging CLI tools to support XDG variables on macOS too. Setting defaults is a strong indication to the community what should be the "preferred" locations. The defaults defined in your article will invariably lead to some authors saying that if that path is good enough for cargo, then it is good enough for their tool. Even the latest draft RFC acknowledges that macOS should use XDG variables too. I've written more about this here.
  • Any plans to update Pop base?
    2 projects | /r/pop_os | 9 May 2023
    Install something like Fast Node Manager from https://github.com/Schniz/fnm and install your Node from there. I work in the software field and tend to use the LTS releases for the TypeScript/React projects I work on.
  • Building a modern gRPC-powered microservice using Node.js, Typescript, and Connect
    15 projects | dev.to | 20 Apr 2023
    You’ll need pnpm and Node.js installed on your machine + some tool for switching node versions (e.g. fnm or nvm will work fine);
  • Nvm or homebrew for Node install
    5 projects | /r/webdev | 11 Apr 2023
    Listing people's recommendations with links below. I'm glad I asked this question. I received a lot of good recommendations. Thanks All! * nvm (https://nvm.sh) - Simple to use and easy to follow instructions with more in-depth configuration for those that need it. Some experienced a slightly slower terminal. Supports nodjs, iojs, and node version per project/directory. * fnm (https://github.com/Schniz/fnm) - Built with speed in mind. It is like nvm, but faster. Also supports node version per project/directory. * Volta (https://volta.sh/) - Looks easy to use and has good documentation. * asdf (https://asdf-vm.com/) - Supports multiple runtimes and tools by adding plugins. Admittedly, is a bit confusing and more than I need right now (Node, Rust, Python, Ruby, etc.) * Homebrew (https://brew.sh/) - Not a version manager but can act like one by installing nvm, fnm, asdf, or others. Some additional configuration may be needed. * Proto (https://moonrepo.dev/proto) - Supports Bun, Deno, Node.js (npm, pnpm, yarn), Rust, and Go. Also good documentation. Setup looks a bit complex to me :/. * n (https://github.com/tj/n) - Supports Node and npm per project. Simple and to the point.
  • The next generation node version manager
    4 projects | /r/node | 3 Apr 2023
    Faster than Fast Node Manager (FNM) written in Rust? https://github.com/Schniz/fnm
  • Is Pop!_OS aiming to be an immutable OS?
    3 projects | /r/pop_os | 26 Jan 2023

asdf

Posts with mentions or reviews of asdf. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-25.
  • Volta – Fastest Node version manager in Rust
    2 projects | news.ycombinator.com | 25 Mar 2024
    Or if you need to manage more than just node, asdf has been around for over a decade and works great. You can use a .tool-versions to change runtimes for each project you have, in addition to managing your global runtime versions

    https://asdf-vm.com/

  • Pyenv – lets you easily switch between multiple versions of Python
    20 projects | news.ycombinator.com | 25 Mar 2024
    https://asdf-vm.com/ ASDF is better because it works with many more languages, other than only Python, like Rust, Go, Node, etc, and other tools, such as AWS/Google/Firebase/Azure CLIs.
    20 projects | news.ycombinator.com | 25 Mar 2024
    Why not just use a tool like asdf (https://asdf-vm.com/) or mise (https://mise.jdx.dev/)?

    These tools have the advantage of not being multi-taskers and can manage version for all your tools. You wouldn’t need pyenv and npm and rvm and…

    We’ve even started committing the .mise.toml files for projects to our repos. That way, since we work on multiple projects that may need multiple versions of the same tool, it’s handled and documented.

  • A Journey to Find an Ultimate Development Environment
    13 projects | dev.to | 2 Feb 2024
    The purpose of a version manager is to help you navigate or install any tools for development easily. Version Manager can be one tool for each dependency (e.g. NVM, g) or One tool for all dependencies (e.g. asdf, mise).
  • Beginners Intro to Trunk Based Development
    4 projects | dev.to | 4 Jan 2024
    Secondly, our development environments must not drift, because then code may behave differently and a change could pass on our machine but fail in production. There are many tools for locking down environments, e.g nix, pkgx, asdf, containers, etc., and they all share the common goal of being able to lock down dependencies for an environment accurately and deterministically. And that needs to be enforced in our local workflow so we don't have to rely on CI environments for correctness. All developers must have environments that are effectively identical to what runs in CI (which itself should be representative of the production environment).
  • Practical Guide to Trunk Based Development
    4 projects | dev.to | 4 Jan 2024
    There are many ways this can be done (e.g nix, pkgx, asdf, containers, etc.), and we won’t get into which specific tools to use, because we'll instead cover the essential essence of preventing environment drift:
  • Criando seu ambiente com ASDF
    4 projects | dev.to | 29 Dec 2023
    git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.13.1
    4 projects | dev.to | 29 Dec 2023
  • Kotlin version manager
    2 projects | /r/Kotlin | 7 Dec 2023
    I've really been enjoying asdf, which is a program that allows you to install specified versions of dev utilities as well as dynamically manage them via shims and .tool-versions files.
  • How do i keep my "devops tool" always up to date in a smart way ?
    2 projects | /r/devops | 6 Dec 2023
    I use the asdf version manager.

What are some alternatives?

When comparing fnm and asdf you can also consider the following projects:

SDKMan - The SDKMAN! Command Line Interface

pyenv - Simple Python version management

nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

volta - Volta: JS Toolchains as Code. ⚡

rbenv - Manage your app's Ruby environment

HomeBrew - 🍺 The missing package manager for macOS (or Linux)

mise - dev tools, env vars, task runner

jenv - Manage your Java environment

nvm for Windows - A node.js version management utility for Windows. Ironically written in Go.