Tras llevar por detrás varias instalaciones de Node.JS en distintos sistemas operativos casi todo el mundo sufre el condenado problema de verse obligado a utilizar al super usuario, o sudo para los amigos, en sistemas basados en UNIX para poder utilizar muchas de las funciones del comando npm, el gestor de paquetes de Node. Muchos acaban buscando por internet la solución a su problema, pasando por muchas páginas que dan soluciones como cambiar los permisos a carpetas del usuario o, incluso, del sistema según el usuario.
Este problema realmente es un fastidio ya que nos puede dar la sensación de no tener bajo control nuestra propia instalación de la plataforma y generarnos cierto estrés, es por eso que hemos aprendido una manera cómoda de instalar nuestro entorno de una manera más comoda y queremos compartirla con vosotros.
La solución es NVM, un gestor de versiones de Node que nos permite controlar desde nuestra terminal qué versiones de Node queremos instalar y cuál de ellas queremos utilizar, ya sea globalmente o en un proyecto determinado según nos interese.
Para instalar esta maravilla el primer paso es instalarlo, para ello nos vamos a una terminal y escribimos:
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.23.2/install.sh | bash
Con esto instalaremos NVM en la carpeta ~/.nvm de nuestro usuario y añadirá a nuestro archivo bash del usuario el código necesario para que podamos ejecutar la herramienta desde cualquier directorio usando la terminal.
Usar el control de versiones es muy sencillo, para instalar una versión de Node escribiremos:
$ nvm install stable
Con esto tendremos instalada la última versión estable de la plataforma, a día de escribir este post es la 0.10.35. Si cambiásemos stable por cualquier número de versión como 0.10.33 se nos descargaría esa versión específica.
Para usar una versión concreta deberemos usar el comando use de la siguiente manera:
$ nvm use 0.10.33
Además de estos comandos tenemos otros que listo a continuación para interés de quien pueda necesitarlos en algún momento:
- nvm which <version> Para conocer la ruta al directorio donde se encuentra el ejecutable de esa versión concreta.
- nvm run <version> <modulo> Para lanzar un módulo concreto con una versión en particular
- nvm exec <version> <comando> Para ejecutar un comando (como npm o node) con una versión concreta
- nvm ls Para ver todas las versiones instaladas
- nvm alias default<version> Elegir la versión por defecto de Node a utilizar por el sistema
Hay algunos comandos más, pero estos son los más comunes, para más información os recomiendo que le echéis un ojo a su página oficial en github: https://github.com/creationix/nvm
Y simplemente con esto ya tendríamos Node.js totalmente controlado en nuestro sistema, pudiendo elegir la vrrsión que más nos convenga para nuestras pruebas sin conflictos ni problemas extraños. ¡Espero que todo vaya sobre ruedas!