Instalando node de manera segura

Oscar David Arbeláez Echeverri
Oscar David Arbeláez Echeverriodarbelaeze@gmail.com

Node.js se ha convertido en una herramienta indispensable para el desarrollo de front-end moderno, sin embargo, tanto el lenguage JavaScript como las herramientas de node evolucionan rápidamente, desde el lanzamiento de Node.js en 2011 contamos con 8 versiones no retro compatibles.

Paremos, ¿Qué rayos es Node.js?

Node.js se puede describir con una simple frase: “JavaScript en el servidor”, antes de Node.js JavaScript era un lenguaje del cliente, y era interpretado por un navegador, cuando llegó node, permitió a los desarrolladores escribir programas que corrían en el lado del servidor, los ejemplos más impactantes eran servidores HTTP asíncronos en unas pocas líneas de código:

// server.js
var http = require('http');
var server = http.createServer(function (request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.end("Hello World\n");
});
server.listen(8000);
console.log("Server running at http://127.0.0.1:8000/");

para ejecutar este servidor bastaba con escribir node server.js y este sencillo código podía manejar una gran cantidad de peticiones en "paralelo" gracias al non blocking I/O con el que node se construyó desde un principio.

Para los que preferimos otros lenguages de programación como Python para el backend de nuestras aplicaciones, node también se hace indispensable para el flujo de trabajo, porque facilita la construcción de single page aplications, que es la manera preferida de construir aplicaciones web hoy en día (con esto no quiero decir que otras metodologías no sean útiles ahora, pero construir una API y una aplicación web que la consuma se ha hecho bastante accesible incluso para equipos pequeños de desarrollo).

Instalación

Para instalar Node.js recomiendo usar node version manager, también conocido como nvm. Este pequeño script permite instalar varias versiones de Node.js y usarlas a conveniencia en el momento necesario. La instalación de nvm puede realizarse usando un script de instalación listado en el github del proyecto,

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

el script clona el repositorio y agrega una línea a la configuración de la consola de mandos ~/.bashrc o ~/.zshrc para agregar el programa nvm al $PATH del sistema, por tanto se debe reiniciar la ventana de la terminal.

Después de instalar nvm podemos proceder a instalar versiones de node. Es bueno usar una version recomendada de node, conocida como LTS long term support al tiempo de escritura la versión de soporte es lts/boron versión 6.x. Para instalarla, basta usar el comando,

nvm install lts/boron

Si ésta es la primera vez que usamos el comando, se creará un alias default a esta version y se usará en la consola por defecto. Otros comandos importantes son:

  • nvm ls lista las versiones instaladas en el sistema.
  • nvm ls-remote lista las versiones disponibles para instalar.
  • nvm use <version> usa una versión instalada en la consola.
  • nvm default <version> configura la versión por defecto de node a usar.

Una vez instalado

Podemos verificar la versión de node usada en la consola con:

node --version
# y de npm
npm --version

Podemos también instalar paquetes:

# globalmente con
npm install -g <paquete>
# localmente con
npm install <paquete>

Y además podemos poner un archivo .nvmrc en nuestros proyectos para sincronizar la versión de node usada por los distintos desarrolladores.