GuateOnRails

Ruby on Rails en español

Un sitio dedicado a difundir el uso de Ruby on Rails entre la comunidad de desarrolladores hispanoparlantes. 

Instalar Nokogiri en Mac Os X Maverics y Yosemite

Por si se topan con ese error intentando instalar la ultima version de nokogiri.

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /Users/myuser/.rvm/rubies/ruby-2.1.1/bin/ruby extconf.rb --use-system-libraries
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using system libraries.
libxml2 version 2.6.21 or later is required!
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

La solución esta en instalar la librería libxml2 y luego decirle a nokogiri que utilice las librerias del sistema para poder hacer la instalación.

# Instalando con brew
$ brew install libxml2

# Modificar los defaults de Nokogiri
$ bundle config build.nokogiri "--use-system-libraries --with-xml2-include=/usr/local/opt/libxml2/include/libxml2"

# Instala tu bundle
$ bundle install

Docker: Agregar y remover tags de una imagen

Suponiendo que ya tenemos algunas imágenes localmente.

$ docker images
REPOSITORY   TAG                                        ID                  CREATED             SIZE
user/foobar  1dee6a0ffae858a796e53aaf88a676f9ccb33165   c4480f1bd5a7        About an hour ago   12.29 kB (virtual 1.625 GB)
user/fizbiz  9c4f77f7388406f5ad3cfbc673e2f1bb27fe3d29   6b9184c7d178        11 hours ago        12.29 kB (virtual 1.299 GB)
...

Podemos agregar un tag a cualquier imagen por medio de su ID por medio del comando tag.

$ docker tag c4480f1b user/foobar latest
$ docker images
REPOSITORY   TAG                                        ID                  CREATED             SIZE
user/foobar  1dee6a0ffae858a796e53aaf88a676f9ccb33165   c4480f1bd5a7        About an hour ago   12.29 kB (virtual 1.625 GB)
user/foobar  latest                                     c4480f1bd5a7        About an hour ago   12.29 kB (virtual 1.625 GB)
...

Una vez realizado el tag podemos iniciar nuestro contenedor desde el tag.

$ docker run user/foobar:latest

Si deseamos remover el tag podemos usar el comando rmi.

$ docker rmi user/foobar:latest

Docker: Detener y remover contenedores e imagenes

En el dia a dia de trabajar con docker terminamos creando muchas images y contenedores. Normalmente no nos importa que esten alli, pero si tienen tantos problemas en la cabeza como yo, estoy seguro que desean mantener su ambiente lo mas limpio posible.

Les dejo aqui algunos atajos para administrar sus imagenes y contenedores.

# Detener todos los contenedores
$ docker stop $(docker ps -a -q)

# Borrar todos los contenerdores
$ docker rm $(docker ps -a -q)

# Borrar todas las imagenes
$ docker rmi $(docker images -q)

Instala la última version de Node.js en Ubuntu 13.04

Antes de nada asegurate de remover cualquier otra version de node.js que tengas instalada.

$ sudo apt-get purge nodejs

Ahora necesitas agregar un repositorio APT y posteriormente instalar el paquete.

$ sudo add-apt-repository ppa:chris-lea/node.js  
$ sudo apt-get update  
$ sudo apt-get install nodejs

# es caso no tengas instalado add-apt-repository

$ sudo apt-get install python-software-properties