Instalando RVM en Linux

Esta es una guia rapida para hacer la instalacion de RVM (Ruby Version Manager) en linux, en mi caso, Ubuntu 11.10

Primero necesitamos algunas herramientas basicas para efectuar la instalacion:

sudo apt-get install build-essential curl

En este caso, curl es para bajar los archivos de RVM y el build-essential contiene varias herramientas fundamentales, entre ellas GCC y MAKE para la compilacion de los archivos.

Luego bajamos las librerias de desarrollo readline (Que permite editar lineas de texto en el bash e IRB), zlib que es necesaria para el funcionamiento de RubyGems, OpenSSL y LibXML.

sudo apt-get install zlib1g-dev libreadline-dev libssl-dev libxml2-dev

Ya teniendo todo esto instalado, ahora si que podemos instalar RVM !!!

curl -L get.rvm.io | bash -s stable

Una vez que todos los archivos bajen y RVM se instale, agregamos al archivo .zshrc o .bashrc (dependiendo del shell que estemos usando), la siguiente linea:

source ~/.rvm/scripts/’rvm’

Y listo… si todo ha salido bien (eso espero!) deberiamos tener RVM en nuestro sistema, luego de reiniciar el terminal, por supuesto.

Publicado en Uncategorized | Deja un comentario

Dependecias para Nokogiri

Estas son algunas de las dependencias que puede necesitar nokogiri:
libxml2 libxml2-dev libxslt1-dev

Para instalarlas en linux debemos usar apt-get

sudo apt-get install libxml2 libxml2-dev libxslt1-dev

Publicado en Uncategorized | Deja un comentario

Dependencias

El otro dia, tuve que formatear la maquina y reinstalar linux. Cuando llego el momento de instalar rvm, me tope con que muchas de las dependencias para ejecutar rvm y ruby de manera correcta no estaban instaladas… asi que antes de instalar rvm asegurense de que al menos los siguientes paquetes esten instalados:

sudo apt-get install build-essential openssl libssl-dev zlib1g zlib1g-dev libreadline5 libreadline5-dev
Nota: quizas libreadline5-dev tenga que ser sustituido por libreadline-gplv2-dev.

Ademas instalen ruby asi: apt-get install ruby-full

Si luego de instalar rvm y correr alguna aplicacion rails tienen un error de este tipo:
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Quizas deban hacen un downgrade a gem de la siguiente manera: gem update –system 1.6.2
aunque en algunos blogs lo han solucionado con: sudo gem pristine –all –no-extensions

Espero que algo de este sea de ayuda.

Publicado en Uncategorized | Deja un comentario

Overriding

Como algunos de nosotros hemos visto en Rails, cuando ocurre un error en algun dato de un formulario, el comportamiento por defecto de Rails es envolver los campos con errores dentro de una etiqueta “<div class=’field_with_errors’></div>”. Esta etiqueta a veces rompe el maquetado de la pagina agregando espacios no deseados.

Este comportamiento esta deteminado dentro de ActionView::Base de rails en forma de proc:

@@field_error_proc = Proc.new{ |html_tag, instance| 
"<div class=\"fieldWithErrors\">#{html_tag}</div>" 
}
 cattr_accessor :field_error_proc
end

Por lo tanto podemos hacer un Overriding y hacer que el proc genere un <span></span> en lugar del problematico div, esto lo hacemos en el application.rb:

ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
'<span class="fieldWithErrors">'.html_safe << html_tag << '</span>'.html_safe
end

El codigo anterior no genera los espacios no deseados y ademas es igual de configurable, y usa .html_safe para asegurar que corra en Rails 3.

Publicado en Uncategorized | Deja un comentario

Comando del Server Rails

A veces necesitamos mas que solo script/server. Aqui estan los comando para modificar el inicio del server rails.

Usage: server [options]
-p, –port=port                  Runs Rails on the specified port.  Default: 3000
-b, –binding=ip                 Binds Rails to the specified ip.  Default: 0.0.0.0
-d, –daemon                     Make server run as a Daemon.
-u, –debugger                   Enable ruby-debugging for the server.
-e, –environment=name           Specifies the environment to run this server under (test/development/production).  Default: development
-s, –config-script=path         Uses the specified mongrel config script.

-h, –help                       Show this help message.

Publicado en Uncategorized | Deja un comentario

Gedit convertido en Textmate

Buscando por la red la manera de convertir Gedit en un editor de texto mas amigable, me tope con el proyecto Gmate, que es una serie de plugins agrupados, para darle al Gedit una funcionalidad parecida al legendario Textmate de Apple. Si se es programador Rails vale la pena probarlo.

Publicado en Uncategorized | Deja un comentario

gem install pg

Al igual que casi todas las gemas de este tipo, si en el sistema no estan las librerias necesarias es posible esperar un mensaje del tipo ‘ERROR: Failed to build gem native extension’. Quiza haga falta instalar esto: sudo apt-get install libpq5 libpq-dev.

Publicado en Uncategorized | Deja un comentario