fnm
Para instalar y cambiar entre varias versiones de Node.js de forma rápida en tu máquina de desarrollo.
Gestor de versiones de Node.js rápido y sencillo, escrito en Rust.
Notas y contexto
Qué es
fnm (Fast Node Manager) es un gestor de versiones de Node.js creado por Fernando “Schniz” Aguilar y mantenido por la comunidad. Está escrito en Rust y se distribuye como un único ejecutable, lo que le da un arranque muy rápido frente a alternativas escritas en shell. Funciona en macOS, Windows y Linux, y se integra con Bash, Zsh, Fish, PowerShell y la consola de comandos de Windows.
Para qué sirve
- Instalar varias versiones de Node.js en la misma máquina y alternar entre ellas con un comando.
- Cambiar automáticamente de versión al entrar en una carpeta que tenga un archivo
.node-versiono.nvmrc. - Fijar la versión de Node.js que usa cada proyecto sin pisar la del resto del sistema.
- Probar tu código contra distintas versiones de Node.js (por ejemplo LTS y la última estable).
- Estandarizar la versión de Node.js dentro de un equipo gracias a los archivos de versión por proyecto.
Cuándo usarlo
Es ideal cuando trabajas con varios proyectos que requieren versiones distintas de Node.js y quieres que el cambio sea automático y prácticamente instantáneo. Comparado con nvm (escrito en Bash), fnm destaca por su velocidad de arranque y por funcionar igual en Windows de forma nativa. Si solo usas una versión de Node y no la cambias nunca, probablemente no necesites un gestor de versiones.
Ejemplo
Instalación en macOS o Linux con el script oficial:
curl -fsSL https://fnm.vercel.app/install | bash
Tras añadir la inicialización a tu shell (por ejemplo en Zsh, con eval "$(fnm env --use-on-cd)"), el uso básico es:
# Instalar la última versión LTS
fnm install --lts
# Instalar una versión concreta
fnm install 20.11.0
# Cambiar a una versión instalada
fnm use 20.11.0
# Listar las versiones instaladas
fnm list
# Fijar una versión por defecto
fnm default 20.11.0
Si una carpeta contiene un archivo .node-version o .nvmrc, fnm cambiará a esa versión automáticamente al entrar en ella (con la opción --use-on-cd activada).
Puntos clave
- Escrito en Rust y distribuido como un único ejecutable, con un arranque notablemente más rápido que nvm.
- Multiplataforma real: macOS, Windows y Linux con la misma herramienta.
- Compatible con Bash, Zsh, Fish, PowerShell y la consola de comandos de Windows.
- Cambio automático de versión al cambiar de carpeta, leyendo
.node-versiony.nvmrc. - Instalable por múltiples vías: Homebrew, Winget, Scoop, Chocolatey, Cargo o el script oficial.
Ten en cuenta
- Requiere añadir una línea de inicialización a la configuración de tu shell para que funcione del todo (entorno y cambio automático).
- No gestiona la versión de npm/pnpm/yarn por separado: solo controla la versión de Node.js (cada versión trae su npm).
- Proyecto activo y mantenido, con la versión 1.39.0 publicada en marzo de 2026.
- El antiguo sitio de documentación (fnm.vercel.app) redirige al repositorio de GitHub, donde está la guía completa de comandos y configuración.