AWD 01: Instalando Rails - LPC-Ltda/Ruby-on-Rails GitHub Wiki

Para dejar corriendo Rails en su sistema usted necesita lo siguiente:

  • Un interprete Ruby, Rails está escrito en Ruby, y usted escribirá su aplicación en Ruby también. Rails 4.0 Recomienda Ruby versión 2.0.0 pero corre sobre 1.9.3, y no corre sobre versiones 1.8.7 o Ruby versión 1.9.2.

  • Ruby on Rails. Este libro fue escrito usando Rails versión 4.0.0.

  • Un intérprete JavaScript. Tanto Mocrosoft Windows como Mac OS tienen intérpretes JavaScript empaquetados, y Rails usará la versión ya instalada en su sistema. Sobre otros sistema usted necesitará instalar un intérprete JavaScript separadamente.

  • Algunas librerías, dependiendo del sistema operativo.

  • Una base de datos. En este libro usamos SQlite 3 y MySQL 5.5.

Para una máquina de desarrollador usted necesitará además un editor.

Si usted ve a desplegar su aplicación, usted también necesitará instalar un servidor web de producción (como mínimo) junto con algo de código de soporte para hacer que Rails corra eficientemente.

1.1 Instalando sobre Windows

La forma más fácil de instalar Rails en Windows es usando el paaquete RailsInstaller (http://railsinstaller.org/). En el momento en que esto se escribe, la última versión de RailsInstaller es la 2.2.1, la cual incluye Ruby 1.9.3 y Rails 3.2.

La instalación base es un chasquido. Después de descargar, click Run y luego click Next. Seleccione "I accept all of the Licenses" y luego click Next. Install y Finish.

Esto abre una ventana que le pedirá su nombre y email. Esto es para setear el sistema de control de versiones git. Para el propósito de este libro, usted no necesita preocuparse de la clave ssh generada.

Cierre esta ventana y abra un nuevo command prompt. En Windows 8, tipee cmd sobre la pantalla menu Start y presione Enter. Sobre otras versiones de Window anteriores a 8, selecciones Windows Start, seleccione Run ..., ingrese cmd, y clickee OK.

Los usuarios de Window 8 necesitan realizar un paso adicional: instalar node.js. (http://nodejs.org/download/) Una vez esto esté completo, cierre la ventana de comandos y abra una nueva para que los cambios a %PATH% surtan efecto. Verifique que la instalación es correcta ingresando el comando node -v.

SI usted tiene problemas, trate mirando las sugerencias en la página de solución de problemas en al sitio RubyInstaller (http://github.com/oneclick/rubyinstaller/wiki/Troubleshooting).

Si la versión que usted instaló de RubyInstaller usa una versión de Ruby 1.9.3 o superior, no es necesario hacer upgrade a otra versión superior.

1.2 Instalando en Mac OS X

...

1.3 Instalando en Linux

Comience con el sistema administrador de paquetes nativo de su plataforma, puede ser apt-get, dpkg, portage, rpm, rug, synaptic, up2date, o yum.

El primer paso es instalar las dependencias necesarias. Las siguientes instrucciones son para Ubuntu 13.04 (Raring Ringtail): si usted tiene un sistema operativo diferente, puede necesitar ajustar los comados y los nombres de los paquetes.

$ sudo apt-get install apache2 curl git libmysqlclient-dev mysql-server nodejs

Se le solicitará su password root para su mysql server. Si la deja en blanco se insitirá muchas veces. Si usted especifica una password, la necesitará para cuando cree una base de datos en la iteración K1.

Mientras el equipo de Rails recomienda Ruby 2.0 para usar con Rails 4.0, si usted desea usar una versión de Ruby instalada por el sistema, usted puede usar Ruby 1.9.3. Esta se instalará y correrá rápidamente.

Al comenzar con Ubuntu 12.04, usted puede instalar Ruby 1.9.3 y Rails 4.0 con los siguientes comandos:

$ sudo apt-get install ruby1.9.3
$ sudo gem install rails --version 4.0.0 --no-ri --no-rdoc

Si esto funciona para usted, está listo con los pasos de instalación necesarios y puede proceder con la sección 1.4 Eligiendo una versión de Rails.

Muchas personas prefieren en cambio hacer una instalación de Ruby separada sobre su máquina dedicada a soportar su aplicación, y entonces ellos eligen bajar y construir Ruby. La forma más simple de hacer esto es usando RVM. La instalación de RVM es descrita en su sitio (http://rvm.io/rvm/install). Un resumen de los pasos es incluido aquí.

Primero instale RVM.

$ curl -L https://get.rvm.io | bash -s stable

A continuación, seleccionamos el checkbox "Run command as login shell" en las preferencias del perfil del Terminal Gnome. Refiérase a la página Integrando RVM con el teminal gnome para más instrucciones (https://rvm.io/integration/gnome-terminal/).

Salga de su ventana de comandos o aplicación Terminal y abra una nueva. Esto causa que su .bash_login sea recargado.

Ejecute el siguiente comando, el cuál instala los pre-requisitos necesarios para su sistema operativo específico:

$ rvm requirements --autolibs=enable

Una vez esté completo, usted puede proceder a instalar el intérprete Ruby.

$ rvm install 2.0.0

Este paso puede tomar un rato para descargar, configurar y compilar los ejecutables necesarios. Una vez esté completo, use este ambiente e instale Rails.

$ rvm use 2.0.0
$ gem install rails --version 4.0.0 --no-ri --no-rdoc

Con excepción de la instrucción rvm use, cada una de las instrucciones previas necesita ser ejecutada sólo una vez. La instrucción rvm use necesita ser repetida cada vez que usted abra una ventana shell. La palabra clave use es opcional, así usted puede abreviarlo a rvm 2.0.0. Usted puede también elegir hacerlo el interprete de Ruby por defecto usando el siguiente comando:

$ rvm --dafault 2.0.0

Usted puede verificar la instalación exitosa usando el siguiente comando:

$ rails -v

Si usted tiene problemas, mire las sugerencias listadas en "Troubleshooting Your Install" en el sitio de RVM (https://rvm.io/rvm/install).

1.4 Elija una versión de Rails

Usted puede querer usar una nueva versión con algunas reparaciones o nuevas características. O quizá usted está desarrollando sobre una máquina pero intentando desplegar sobre otra máquina que usa otras versión de Ruby sobre la cual usted no tiene control.

Si alguna de estas situaciones aplica a su caso, usted necesita cuidar algunas pocas cosas. Para novatos, usted puede encontrar todas las versiones de Rails que usted tiene usando el comando gem.

$ gem list --local rails

Usted también puede verificar que versión de Rails está corriendo por defecto usando el comando rails --version. Este debe retornar 4.0.0.

Si no lo hace, inserte la versión de Rails rodeada de underscores antes del primer parámetro de cualquier comando rails. Aqui va un ejemplo.

$ rails _4.0.0_ --version

Esto es particularmente útil cuando usted crea una nueva aplicación, porque cuando usted crea una aplicación con una versión específica de Rails, esta continuará usando esa versión de Rails -incluso si una nueva versión es instalada en el sistema- hasta que usted decida que es tiempo de hacer un upgrade. Para hacer un upgrade, simplemente actualice actualice la versión en el Gemfile que está en el directorio raíz de su aplicación y ejecute bundle install. Cubriremos este comando en profundidad en la sección 24.3. Manejando dependencias con Bundler.

Seteando su ambiente de desarrollo

El día a día del negocio de escribir programas Rails, es muy sencillo. Todo el mundo trabaja diferentemente; esta es la forma en que nosotros trabajamos.

La línea de comandos

Hacemos mucho trabajo en la línea de comandos. Aunque hay un creciente número de herramientas GUI que ayudan a generar y administrar aplicaciones Rails, encontramos que la línea de comandos es aún el lugar más poderoso para hacerlo. Es bueno invertir un momento para familiarizarse con la línea de comandos de su sistema operativo. Saber como encontrar los comando que usted ya ha tipeado, como buscar y editar los comandos previos, y como completar los nombres de archivos y comandos que usted está tipeando.

El llamado completamiento por tab es un estándar en los shell Unix como Bash y zsh. Este permite que usted tipee los primeros caracteres de un archivo, luego presione TAB, y el shell intentará completar el nombre basado en los archivos que coincidan.

Control de versiones

Ponemos todo nuestro trabajo en un sistema de control de versiones (actualmente Git). Hacemos un punto de chequeo de un nuevo proyecto Rails cuando lo creamos y hacemos un commit de sus cambio cada vez que pasa los test. Normalmente hacemos commit al repositorio varias veces por hora.

Si usted está trabajando sobre un proyecto Rails con otras personas, considere setear un sistema de integración continua (CI). Cuando alguien registra cambios, el sistema CI libera una copia fresca de la aplicación ye ejecuta todos los test. Esta es una forma simple de asegurarse que roturas accidentales obtengan atención de inmediato. Usted puede también setear su sistema CI para que su cliente use la versión más actualizada de su aplicación. Este tipo de transparencia es una gran forma de asegurarnos que su proyecto no se salga del camino.

Editores

Escribimos nuestros programas Rails usando un editor de programadores. A través de los años nos hemos dado cuenta que diferentes editores trabajan bien con distintos programas y ambientes. Por ejemplo, Dave escribió originalmente este capitulo usando Emacs porque pensó que su modo Filladapt no ha sido superado cuando viene pulcramente formateado como XML como su tipo. Sam actualizó el capítulo usando Vim. Pero muchos piensan que ninguno de estos es ideal para el desarrollo en Rails. Aunque la elección de un editor es personal le sugerimos algunas características para cuando busque un editor para Rails:

  • Soporte para detacar sintaxis de Ruby y HTML. Idealmente soporte para archivos .erb (un formato de archivo Ruby que mezcla Ruby con HTML).
  • Soporte de indentación automática y re-indentación de código Ruby. Esta es más que una característica estética: al tener una indentación de editor que funciona en la medida que usted tipea, es la mejor forma de eliminar los errores de alineamiento en su código. Tener la capacidad de re-indentar es útil cuando usted refactoriza su código o mueve cosas. (La habilidad de TextMate es muy conveniente cuando recibe código desde al clipboard).
  • Soporte de inserción de constructos Ruby y Rails comunes. Usted escribirá muchos métodos cortos, y si la IDE crea el esqueleto del método al presionar una tecla o dos, usted puede concentrarse en lo importante.
  • Buena navegación de archivos. Como usted verá, las aplicaciones Rails se distribuyen en muchos archivos; por ejemplo, una aplicación recién creada de Rails llega al mundo conteniendo cuarenta y seis archivos distribuidos en treinta y cuatro directorios. Esto es antes de que usted haya escrito nada. Usted necesita un ambiente que le ayuda a navegar rápidamente entre estos archivos. Usted agrega una línea a un controlador para cargar un valor, cambia a la vista para agregar una línea a desplegar, y luego cambia al test para verificar que ha hecho todo bien. Nosotros preferimos una combinación de una vista de árbol a un lado, unos pocos comandos para ayudar a encontrar los archivos en el árbol, y algunos comando inteligentes que nos ayudan a navegar entre controladores y vistas por ejemplo.
  • Completamiento de nombre. Los nombres en Rails tienden a ser largos. Un buen editor le dejará tipeas las primeras letras y entonces le sugerirá posibles completamientos seleccionables.

Evitaremos recomendar un editor, algunas sugerencias:

...

El escritorio

Usualmente tendremos un editor, un browser para hurgar la aplicación, usaremos tail -f para ver el log que genera la aplicación (en letra pequeña). También necesitamos acceso a la documentación API, recomendamos http://api.rubyonrails.org/ para tener una vista consolidada de la documentación Rails en un sólo lugar.

Crear su propia Documentación API de Rails

rails_app> rails new dummy_app
rails_app> cd dummy_app
dummy_app> rake doc:rails

Rails a las bases de datos

Los ejemplos en este libro están escritos usando SQLite 3 (versión 3.7.4 o por ahí). Si usted quiere seguir nuestro código es mejor usar SQLite 3 también. Si usted decide usar otra cosa tendrá que hacer ajustes menores a cualquier SQL explícito en su código. Rails elimina SQL específicos desde sus aplicaciones.

Si usted desea conectar a una base de datos diferente, Rails también trabaja con DB2, MySQL, Oracle, Postgres, Firebird y SQL Server, para todos ellos (salvo para SQLite) usted deberá isntalar un driver, una librería que Rails puede usar para conectar y usar su motor de base de datos. Esta sección contiene links a instrucciones para hacer esto.

Los drivers de bases de datos están todos escritos en C y son primariamente distribuidos en forma de fuente. Si usted no desea molestarse construyendo un driver desde la fuente, mire cuidadosamente el website de drivers. Muchas veces usted encontrará que el autor destribuye también versiones binarias.

Si no puede encontrar versiones binarias o si usted prefiere construirlas desde el código fuente, necesita un ambiente de desarrollo en su máquina para construir la librería. Bajo Windows, esto significa tener una copia de Visual C++. Bajo Linux, usted necesita gcc y sus amigos (los que ya pueden estar instalados)

Las siguientes son los adaptadores de bases de datos disponibles y sus links a sus páginas web respectivas:

Base de Datos Link
DB2 http://raa.ruby-lang.org/project/ruby-db2
http://rubyforge.org/projects/rubyibm
Firebird http://rubyforge.org/projects/fireruby/
MySQL http://www.tmtm.org/en/mysql/ruby/
Oracle http://rubyforge.org/projects/ruby-oci8
Postgres http://bitbucket.org/ged/ruby-pg/wiki/Home
SQL Server http://github.com/rails-sqlserver
SQLite http://github.com/luislavena/sqlite3-ruby

Los adaptadores para MySQL y SQLite están también disponibles para descarga como RubyGems (mysql2 y sqlite3 respectivamente).

⚠️ **GitHub.com Fallback** ⚠️