fnm (Fast Node Manager)

Desarrollo
fnm (Fast Node Manager)

Al iniciar la construcción de aplicaciones basadas en JavaScript, el primer paso es tener Node.js instalado en el sistema. Muchos optamos por la ruta más sencilla: dirigirnos a la página oficial de Node.js e instalar la versión LTS o la más reciente. Si bien este enfoque es efectivo, tiene una limitación significativa: sólo puedes instalar una versión de Node.js a la vez, por ejemplo, la versión 18 LTS. Esto no representa un problema hasta que te encuentras con proyectos que requieren diferentes versiones de Node.js para ejecutarse. Para abordar este desafío, resulta útil recurrir una herramienta construida por Gal Schlezinger, un desarrollador de software que actualmente trabaja en Vercel.

Fast Node Manager (fnm) es un administrador de versiones de Node.js que se destaca por su velocidad y simplicidad. Gracias a su construcción en Rust, fnm alcanza una notable eficiencia, permitiendo instalar, desinstalar y cambiar entre diferentes versiones de Node.js con rapidez y facilidad.

Uno de los puntos fuertes de fnm es su velocidad. Ha sido diseñado con un enfoque en el rendimiento, permitiendo instalar y cambiar entre versiones de Node.js de manera rápida. Esto lo convierte en una excelente opción para los desarrolladores que trabajan con múltiples versiones de Node.js con frecuencia.

Además, fnm es compatible con una variedad de shells diferentes, incluyendo bash, zsh y fish. Esto permite una fácil integración de fnm en tu flujo de trabajo existente, sin importar qué shell prefieras usar.

Vamos a instalar fnm en macOS/Linux utilizando Homebrew en unos sencillos pasos. Antes de empezar, debemos tener instalado Homebrew.

  1. Iniciamos la instalación con el siguiente comando:

    brew install fnm
    

    Para instalar fnm se necesita previamente tener instalado Rust. Si aún no lo tienes, Homebrew lo instalará por ti.

  2. Una vez completada la instalación, es necesario realizar una pequeña configuración. En el directorio home se encuentra el archivo de configuración del shell que utilices, en mi caso zsh, por lo tanto el archivo es .zshrc (o .bashrc si utilizas bash). Abre el archivo con cualquier editor de texto y agrega en la última línea lo siguiente:

    eval "$(fnm env)"
    

    Al agregar eval "$(fnm env)" a tu .zshrc, estás diciendo "cada vez que inicio una nueva terminal, ejecuta fnm env para generar la configuración del entorno necesaria y aplica esa configuración". De esta manera, fnm estará listo para usar cada vez que abras una nueva ventana o pestaña de terminal.

  3. Con fnm instalado y configurado, ahora podemos instalar y usar diferentes versiones de Node.js. Para instalar una versión específica de Node.js en un proyecto, se usa el comando fnm install seguido del número de la versión que desees. Ejemplo:

    fnm install 18
    

    He utilizado la abreviatura 18 ya que esto traerá la versión más reciente de dicha serie. Por ejemplo, a la fecha de este artículo, la última LTS de 18 es 18.17.0.

  4. En el caso de que quieras instalar una versión distinta, solo ejecuta el mismo comando pero especificando la versión que quieras. Ahora, suponiendo que tenemos varias versiones de Node.js instaladas, llegó la hora de cambiar entre ellas, y es con un simple comando:

    fnm use 16
    

    Por supuesto, también puedes ver todas las versiones instaladas con:

    fnm list
    

    La salida de este comando te mostrará qué versiones tienes instaladas y cuál está seleccionada por defecto.

Te recomiendo visitar su repositorio oficial en GitHub para acceder a la documentación completa.