Instalacion en Ubuntu 11.10

goddamnhippie edited this page Aug 24, 2012 · 1 revision

0. Antes que nada

  • Revisa la página de la terminal
  • No olvides revisar las convenciones
  • Aprende a modificar tu variable PATH
  • Actualiza tu instalación ejecutando sudo apt-get update y luego sudo apt-get upgrade

1. Instalar herramientas básicas

Para instalar correctamente Ruby en tu equipo se necesitan dos herramientas CLI: gcc para compilar el código C con el que está hecho Ruby (el MRI) y git, un programa para gestionar versiones con lo que están hechas muchas herramientas para trabajar con Ruby.

Ambas herramientas son fáciles de instalar con el siguiente comando:

# apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev sqlite3 libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf nodejs

Presiona Enter para aprobar las opciones por defecto. Con ese comando estás instalando build-essential que incluye gcc, git-core para usar git, curl y zlib1g-dev son unas dependencias de otras herramientas y se instalan para hacerte la vida más fácil, no te preocupes mucho por ellas en este momento.

NOTA: En caso se use otra distribución como Fedora, se puede usar el siguiente comando

# sudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel sqlite sqlite-devel libxml2-devel libxslt-devel

2. Instalar Ruby

No es recomendable instalar Ruby a través del gestionador de paquetes de Ubuntu/Debian (por apt-get). En cambio, utiliza un gestionador de versiones de Ruby como: RVM o RBenv (Versión ligera). Si tienes alguna duda sobre cuál elegir puedes revisar la última sección de la guía.

Instalar Ruby con rbenv

Primero, instalar ruby-build ejecutando lo siguiente:

$ cd
$ git clone git://github.com/sstephenson/ruby-build.git
$ cd ruby-build
# ./install.sh

Para comprobar la instalación ejecuta:

$ ruby-build -v

Antes se usaba mucho rvm para manejar versiones de Ruby, pero hace poco apareció la herramienta rbenv que es un poco más liviana y se ha vuelto popular rápidamente. Para instalarla debes ir a tu home folder y clonar el código:

$ cd
$ git clone git://github.com/sstephenson/rbenv.git .rbenv

Esos comandos van a crear una carpeta oculta llamada .rbenv en tu home folder. En esa carpeta también hay una carpeta para binarios, así que se va a tener que incluir en tu variable $PATH. Ejecuta lo siguiente en la terminal:

$ echo 'if [ -f ~/.bashrc ]; then . ~/.bashrc; fi' >> ~/.bash_profile
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

Además debes modificar el archivo .bash_profile de la siguiente manera:

$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Después de hacer eso, ejecuta:

$ exec $SHELL

Para instalar Ruby, debes ejecutar este comando:

$ ruby-build 1.9.3-p0 ~/.rbenv/versions/1.9.3-p0 --with-openssl-dir=/usr/local

Nota: necesitamos indicarle el directorio de openssl para no tener problemas en la instalación de Rails.

Luego, establecer la versión por defecto:

$ rbenv global 1.9.3-p0

Actualizamos rbenv:

$ rbenv rehash

Instalar Ruby con rvm

Instalamos RVM con el siguiente comando:

$ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

Para verificar que la instalación fue correcta, ejecutar:

$ type rvm | head -n1

Deberás observar el siguiente mensaje:

rvm is a function

Instalamos Ruby 1.9.3:

$ rvm install ruby-1.9.3

Establecemos la versión 1.9.3 por defecto:

$ rvm use --default ruby-1.9.3

Finalmente, si has instalado ruby a través de rbenv o rvm, para confirmar que todo está correcto, ejecuta:

$ ruby -v

Deberías ver una línea que comienza con ruby 1.9.3p0

ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]

Listo, Ruby 1.9.3 está instalado en tu sistema.

3. Instalar Rails Web Framework

Instalamos Rails con RubyGems:

$ gem install rails

Verificamos la instalación:

$ rails -v

En la terminal se mostrará la versión instalada de Rails:

Rails 3.1.3

4. Creando nuestro primer proyecto en Rails

Es hora de probar nuestra instalación, creemos un proyecto en Rails con el siguiente comando:

$ rails new hello-rails

...
create  vendor/assets/stylesheets
create  vendor/assets/stylesheets/.gitkeep
create  vendor/plugins
create  vendor/plugins/.gitkeep
run  bundle install
...
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

Ejecuta la aplicación:

$ cd hello-rails
$ rails server

Luego, en tu navegador entra a está URL para ver tu sitio activo: http://localhost:3000

Deberías observar lo siguiente:

Hello, Rails

Ahora sí, todo listo para divertirte con Ruby on Rails!

F.A.Q

Desinstalar RVM:

Ejecutar el comando rvm implode.

¿RVM o Rbenv?

Escrito por Alvaro Pereyra - @Yaraher:

En términos prácticos, ambos hacen lo mismo, permitirte manejar varias versiones de Ruby en tu equipo. Las diferencias son en principio técnicas y en trasfondo filosóficas.

RVM como tal busca integrar mucha funcionalidad para administrar tus versiones y entre sus features, incluye facilidades para "sobrecargar" algunos comandos de *Nix como "cd", "gem", etc. Eso funciona bien, pero tiene potencialmente algunos problemas por si tienes otros elementos que también sobrecargan/modifican esos binarios.

Filosóficamente, rbenv trata de ser más unix-like, enfocándose en no utilizar ese tipo de sobrecargas, sino implementar su solución basándose en la arquitectura del mismo *nix, en base a shims, aliases y demás. En principio, cuando cambias de versión, lo que haces es cambiar dónde apuntas el binario de Ruby y el PATH. Es un poco más técnico (ya que requiere que instales rbenv y ruby-build para que también opere la descarga e instalación) pero es más minimalista y se enfoca en sólo hacer una función y hacerla bien.

Personalmente, me gusta más rbenv y lo siento más rápido. En la práctica, no hay muchos casos donde debas elegir uno por sobre otro, salvo tu punto de vista en la concepción de ambas herramientas :)