Instalando node.js en Ubuntu

Al final me he decidido. Siempre he pensado que saber programar en distintos lenguajes era algo bastante práctico, sobre todo porque al final cada lenguaje tiene su forma de hacer las cosas, su comunidad diferente, y eso ayuda a ampliar las ideas con que nos enfrentamos a los problemas.

Como además últimamente estoy usando bastante linux y eso me hace incómodo trabajar con lenguajes .NET (MonoDevelop no está del todo mal, pero VS + Resharper está muy por delante), he optado por irme a un lenguaje cuyas herramientas funcionen sin problemas en linux, aprovechando así para matar dos pájaros de un tiro: lenguaje nuevo, plataforma (semi-)nueva.

El lenguaje elegido ha sido Javascript y para hacerlo un poco más entretenido (y, de paso, focalizado), voy a intentar aprenderlo desarrollando pequeño sistema cliente/servidor realizado íntegramente con Javascript. Mi idea es utilizar node.js para la parte de servidor y HTML+jQuery en la parte del cliente.

Para empezar con algo, y sobre todo como recordatorio por si tengo que volver a hacerlo, aquí va mi primer contacto con node.js:

Instalación paso a paso de node.js en Ubuntu 11.04

La instalación está basada en estas instrucciones de instalación, pero tuve que hacer algunos pequeños ajustes.

Desde una consola, es necesario ejecutar lo siguiente:

sudo apt-get install curl

Esto instalará curl, que será necesario para descargar cosas por línea de comandos y nos servirá también para poder hacer llamadas de prueba a nuestra aplicación web. Antes en linux usaba wget, pero ahora parece que todo el mundo usa curl. Por algo será.

Luego hay que ejecutar esto:

sudo apt-get install libssl-dev

Con esto instalamos las librerías de desarrollo de ssl. No sé si las usaré para algo, pero node.js se quejaba de que no las encontraba y no podría usar ssl, así que por si acaso…

Después de eso ejecute el primer script que aparece en el enlace:

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install # ok, fine, this step probably takes more than 30 seconds...
curl http://npmjs.org/install.sh | sh

Esto hace una instalación local de la última versión de node.js. Al ser una instalación local, no hacen falta permisos de root para nada, aunque a cambio hay que añadir al path la ruta donde lo hemos instalado. Además nos instala también npm, que es el gestor de paquetes para node.js (algo así como el equivalente a gems en Ruby, NuGet en .NET o CPAN en perl).

Para los que no sabemos mucho de linux pero nos gusta entender lo que estamos haciendo, los pasos del script son:

  1. Añadir al path la ruta $HOME/local/bin
  2. Crear las carpetas local y node-latest-install
  3. Descargar y descomprimir node-latest-tar.gz en node-latest-install
  4. Prepararnos para compilar con configure, indicando que la ruta donde vamos a instalar es $HOME/local
  5. Lanzamos la instalación
  6. Descargamos e instalamos npm

Con esto ya tenemos todo listo para hacer nuestra primera aplicación de ejemplo. Creamos un fichero app.js en algún sitio y le añadimos el siguiente código (sacado de nodejs.org):

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

A continuación, lo ejecutamos con:

nodejs app.js

Y usando un browser navegamos hasta http://localhost:1337 para comprobar que todo funciona:

Firefox con el ejemplo de node.js

Firefox con el ejemplo de node.js

Ya está, ya tenemos lista la instalación de node.js. Ahora sólo falta empezar a usarla para algo divertido :-)

7 comentarios en “Instalando node.js en Ubuntu

  1. Pingback: Cosas que echo de menos en Javascript | Koalite's blog

  2. Pingback: Javascript: Diferencias entre declaración de función y expresión con función | Koalite's blog

  3. Pingback: Mostrar avisos y errores con jQuery UI | Koalite's blog

  4. Pingback: Tutorial node.js + express + jquery (I): Creando la aplicación « Koalite's blog

  5. Hola, estaba buscando algún ejemplo de nodejs para empezar a ver como va esto, interesante como puerta de entrada.

    Saludos.

  6. Oscar, No deberías tener problema, a menos que algo esté ocupando el puerto en que ejecutes el servidor node.

    ¿Cual es la salida de nodejs app.js?

Comentarios cerrados.