Instalando nodejs en windows (the right way!)

Instalar nodejs en windows puede resultar bastante sencillo, simplemente vas a nodejs.org y haces click en Download for Windows (x64).
El instalador hace todo lo necesario para que nosotros podamos trabajar tal como actualizar el PATH e instalar npm.
Pero imagina el siguiente escenario, creas un proyecto en la versión actual 4.1.1, lo terminas y subes a producción. Luego de un mes tienes un nuevo proyecto que crear, pero al ser nuevo el proyecto también deseas que tenga la última versión nodejs, es lo normal. Supongamos que para ese tiempo ya nodejs está en la versión 5.0.0.
Actualizar es tan facil como descargar esa versión y seguir los pasos de instalación (o sea hacer click en el botón siguiente hasta que se convierta en finalizar, no lo niegues todos hacemos eso).
Terminas este nuevo proyecto, lo subes a tu entorno de producción y todo es felicidad.

Pero en ese mismo momento, el cliente del primer producto que creaste envía un nuevo requerimiento para ese proyecto. Como todo developer tomas la noticia con felicidad NOT y comienzas a desarrollarlo, abres tu proyecto y cuando lo ejecutas explota.
Pero si todo estaba bien, piensas ¿qué podría haber pasado?
Oh, claro actualicé node y ahora esta versión no es compatible con varios módulos que usé en esta aplicación. Fácil, regreso a la versión anterior 4.1.1, pero eso haría que mi segundo proyecto ya no funcione, bueno luego de hacer los cambios regreso a la versión 5.0.0. Pero qué pasa si me piden más cambios para el primer proyecto, ok vuelvo a la versión antigua nuevamente, pero qué pasa... ¡OK ALGO NO ESTÁ FUNCIONANDO BIEN! Si tan solo existiera una forma de tener varias versiones de nodejs y poder intercambiar entre ellas cuando lo necesite...

Nodist

Nodist es un version manager de nodejs desarrollado exclusivamente para windows. Permite instalar distintas versiones de nodejs en nuestro equipo y usar la que queramos en el momento que lo necesitemos.

Instalando Nodist

No cuenta con un instalador, pero no requiere de mucho esfuerzo para instalarlo.

  1. Eliminar todo rastro de nodejs de nuestro equipo.
  2. Descargar la última versión del proyecto desde aquí (archivo zip)
  3. Crear una carpeta nodist en el lugar que se desea instalar. Yo usaré la siguiente ruta H:/nodist
  4. Luego debemos agregar la carpeta bin de nodist a nuestra variable de sistema PATH.
    nodist path environment variable
  5. Creamos una nueva variable de sistema con el nombre NODIST_PREFIX y le asignamos la ruta dónde tenemos instalado nodist, para mi caso es H:/nodist
    nodist_prefix environment variable
  6. Creamos otra variable de sistema NODE_PATH con la ruta de la carpeta node_modules : H:\nodist\bin\node_modules, con esto podemos usar sin problemas los módulos globales desde nuestra consola.
    node_path nodist
  7. Si vamos a trabajar con la versión de 64 bits de nodejs, tenemos que crear ooootra variable de sistema con el nombre NODIST_X64 y el valor 1.
    nodist 64bits
  8. Abrimos una consola y ejecutamos el siguiente comando
nodist selfupdate  

Esto instalará la última versión de nodejs en nuestro equipo. Por último configuramos npm con el siguiente comando
npm config set prefix "%NODIST_PREFIX%\bin"

Si todo fue bien tendríamos que ver algo como esto en la siguiente imagen:

nodist ready

Instalando una nueva versión de nodejs

Lo sé, dije que la última versión en el momento de escribir este artículo era la 4.1.1., pero tengo la 4.0.0. No sé por qué instaló una versión antigua, pero nos sirve perfecto para comprobar la funcionalidad de nodist, vamos a instalar la versión 4.1.1. Simplemente usamos el comando nodist y la versión que queremos.

nodist 4.1.1  

Ahora si todo fue bien veremos la siguiente salida en consola

nodist ready 2

Si queremos volver a la versión 4.0.0 o cualquier otra solo basta con escribir nodist y la versión:

nodist 4.0.0  
nodist 4.1.1  
nodist 0.12.4  

Bonus: Actualizando npm

Ok, todo bien con nodist, pero la versión de npm es extremadamente antigua 1.4.6 cuando la última es 2.14.4.
Para actualizar npm solo debemos hacer lo siguiente:

npm install -g npm@2.14.4  

Si comprobamos la versión de npm, veremos algo así
nodist update npm

Listo, ya tenemos nuestro administrador de versiones funcionando. Aunque esto permite tener varios proyectos con distintas versiones de node, siempre intentar mantener actualizadas nuestras aplicaciones ya que los updates en software nos traen beneficios en rendimiento y seguridad.