Learning Erlang I (Preparando el entorno)
En este año 2014 una de las tareas que me propuse fue aprender Erlang. A la vez que voy progresando iré poniendo una serie de tutoriales para que podaís seguirlos.
La primer tarea consiste en instalar una máquina virtual que será donde realicemos nuestras pruebas. Para ello usaremos Vagrant.
¿Qué es vagrant?
Es una herramienta de código abierto cuyo objetivo principal es la creación y configuración de ambientes virtuales de desarrollo de manera muy ligera, reproducible y portátil. Esto con el fin de ser desplegado múltiples veces sin dificultad en diferentes ambientes que harán de su hogar, de ahí su nombre de Vagrant (vagabundo). Estos ambientes pueden estar proveídos por populares servicios como VirtualBox, VMWare y AWS pero debe funcionar correctamente con cualquier otro proveedor.
fuente: http://codehero.co/como-instalar-y-configurar-vagrant/
En otras palabras, tendremos una maquina linux dentro de nuestro ordenador a la que nos conectaremos por ssh y tendrá un entorno ya montado.
Al lio pues
Dentro de mi github monté un repositorio con un proyecto vagrant (no voy a entrar en como funciona o como crear máquinas para vagrant, ya que hay mucha documentación al respecto, sino siempre podéis ir a la propia documentación oficial http://docs.vagrantup.com/v2/), que de momento no tiene nada mas que un fichero llamado vagrantfile, que contiene la configuración de nuestra maquina.
Primero clonamos el proyecto alojado en github.
1 2 3 4 5 6 |
juanber$ git clone https://github.com/juanber84/ErlangVagrant.git Cloning into 'ErlangVagrant'... remote: Reusing existing pack: 7, done. remote: Total 7 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (7/7), done. Checking connectivity... done |
Nos ponemos dentro de la carpeta que nos habrá creado
1 |
cd ErlangVagrant |
Previamente debes tener instalado vagrant en tu maquina, vamos a levantar la maquina entonces.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
juanber$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... [default] Importing base box 'erlangbox'... [default] Matching MAC address for NAT networking... [default] Setting the name of the VM... [default] Clearing any previously set forwarded ports... [default] Creating shared folders metadata... [default] Clearing any previously set network interfaces... [default] Preparing network interfaces based on configuration... [default] Forwarding ports... [default] -- 22 => 2222 (adapter 1) [default] Booting VM... [default] Waiting for machine to boot. This may take a few minutes... ..... |
Con el comando vagrant up levantas la maquina, si es la primera vez que lo haces instalará todo lo que necesites, en caso contrario la arrancará.
En este caso nos está instalando un ubuntu 12.04 que tendrá instalado Erlang en su interior, el cual por defecto no viene instalado en esa distribución.
Una vez instalado nos conectamos a ella.
1 2 3 4 5 6 7 |
juanber$ vagrant ssh Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic-pae i686) * Documentation: https://help.ubuntu.com/ Welcome to your Vagrant-built virtual machine. Last login: Fri Sep 14 06:22:31 2012 from 10.0.2.2 vagrant@precise32:~$ |
Vamos a ver que distribución nos ha instalado.
1 2 |
vagrant@precise32:~$ cat /etc/issue Ubuntu 12.04 LTS \n \l |
Y por último solo nos falta comprobar que Erlang está instalado.
1 2 3 4 5 6 7 8 9 10 |
vagrant@precise32:~$ erl Erlang R16B03-1 (erts-5.10.4) [source] [async-threads:10] [kernel-poll:false] Eshell V5.10.4 (abort with ^G) 1> 1+1. 2 2> q(). ok 3> vagrant@precise32:~$ |
Pues con esto ya tenemos todo el entorno montado. En los próximos post empezaremos con el lenguaje.