domingo, 22 de abril de 2007

Prepara tu entorno para desarrollar RoR


Bueno, lo prometido es deuda, así que aquí tenéis el post sobre como preparar nuestro sistema para desarrollar para ruby on rails. Todos los comandos y demás son los que se usan para montarlo en Ubuntu, si usáis otra distro u otro sistema operativo la cosa cambia, aunque supongo que sólo en las instalaciones y muy poco en los demás comandos. (vamos, que tendréis que cambiar aptitude por yum, apt-get o siguiente, siguiente, siguiente... xD)

1.- Instalar Ruby


Lo primero, instalar Ruby, los gestores de documentación rdoc y ri (que todavía no los he usado pero debe ser algo similar al javadoc) y la consola para probar código sin tener que lanzar el navegador y demás irb:

sudo aptitude install ruby ruby1.8-dev rdoc ri irb

En éste caso estoy instalando la versión 1.8, mirad en vuestro gestor y coged la versión que prefiráis (normalmente la más nueva).

2.- Instalar una base de datos

En mi caso está claro que MySQL, no sé cuales soporta ruby pero seguro que Goolge si ;)

sudo aptitude install mysql-server libmysql-ruby mysql-client

Está claro que el paquete mysql-client no es necesario, yo lo uso para cambiar cosas en la base de datos y demás desde la consola, quien no lo vaya a usar puede ahorrárselo ya que, más tarde, ya veremos como consultar los datos de la base de datos desde eclipse. El paqute libmysql-ruby es imprescindible. Si usáis otra base de datos buscad la librería que os corresponda (cómodamente con sudo aptitude search post | grep ruby para postgresql por ejemplo, no he visto paquetes para oracle, igual es de pago y todo xD)

Antes de seguir vamos a cambiar el password del administrador de MySQL porque luego tendremos que hacerlo igualmente:

mysqladmin -u root password NUEVO_PASSWORD
sudo /etc/init.d/mysql restart

Os recomiendo instalaros un gestor gráfico para MySQL, a la hora de crear las tablas es mucho más comodo que saberse de memoria los tipos de variables ;) Yo uso el MySQL Administrator, pero no os recomiendo instalarlo (al menos por ahora) desde los repositorios de ubuntu ya que hay algo que compilaron mal, mejor os lo bajáis y lo instalais a mano sino os dará algunos jaleos con la gestión de schemas (bases).

3.- Instalar Ruby Gems

Gem es el gestor de librerías de Ruby. Es muy similar a los gestores de paquetes de las distribuciones linux, funciona exactamente igual sólo que gestiona librerias.
La versión de rubygems que he usado es la 0.9.2 y se instalaría de la siguiente forma:

wget http://rubyforge.org/frs/download.php/17190/rubygems-0.9.2.tgz
tar zxvf rubygems-0.9.2.tgz
cd rubygems-0.9.2
sudo ruby setup.rb

Con eso estarían instalado rubygems y podéis borrar el fichero que habéis bajado y el directorio que ha generado.

4.- Instalar Rails.

Rails es un servidor web preparado para trabajar con Ruby, no es que lo recomiendo para proyectos en producción, pero es muy cómodo a la hora de trabajar porque también Rails se puede integrar en Eclipse y nos deja lanzar/parar/reiniciar el servicio sin salir del entorno de trabajo, cuantas menos ventanas tengamos que tocar mejor. También me apunto lo de ponerme a mirar como instalar Apache+FastCGI para correr aplicaciones Ruby ;)
Vamos a instalarlo que me estoy enrollando:

sudo gem search -b rails
sudo gem install rails --include-dependencies


No sé muy bien como funciona gem, pero antes de hacer el search no me encontraba el rails. De paso os comento que cuando vayáis a buscar una "gema" (como he oido llamar a los frikis a las librerías de ruby xD) hacedlo con -b y os buscara en vuestro sistema y en los servidores porque si hacéis un search a pelo sólo buscará en vuestro equipo.

5.- Instalar RadRails

Bueno, ésto es chulísimo, yo trabajo, siempre que puedo, con Eclipse. Me parece un interfaz muy cómodo y que cada vez soporta más lenguajes. RadRails integra en Eclipse el soporte para Ruby. La verdad es la mejor integración de un lenguaje en Eclipse que he visto, podéis ver todo lo que soporta aquí, pero ya os digo de antemano que yo, desde que instalé ésto, no genero nada a mano.

Supongo eclipse ya instalado, sino en el todopoderoso google o en la propia web de Eclipse os podéis hartar de tutoriales que explican como instalarlo. Aprovecharemos para instalar un par de plugins más que nos serán de gran ayuda, consola de ruby en eclipse, bases de datos, no ocupan mucho y son bastante útiles. Vamos a ello:

La forma más cómodo es utilizar el sistema de instalación de plugins de eclipse: Arrancamos eclipse y nos vamos a Help > Software Updates > Find and install... , elegimos Search for new features to install y le damos a siguiente. Ahora nos toca añadir los servidores para que eclipse encuentre los plugins, se añaden dándole a New Remote Site... y dándoles un nombre y una dirección url al servidor. Os dejo los que tengo instalados, que son los que os recomiendo:

Aptana --> http://update.aptana.com/install
RadRails --> http://radrails.sourceforge.net/update
RubyPeople --> http://updatesite.rubypeople.org/release

Una vez metidos, nos aseguremos de que estén marcados, le damos a Finish y eclipse se conectará para generar el indice de paquetes de cada servidor y nos lo mostrará para que marquemos lo que queremos instalar de cada uno. Yo de los servidores de
Aptana y RadRails tengo instalados todos los paqueten que os aparecen y del de RubyPeople también tengo todos menos los que están en la categoría Other (por ahora sólo el plugin Ruby Developtment Tools) y que puede que pruebe porque no tengo auto-completar y al parecer éste plugin lo hace. Desmarcad los paquetes que os digan que son incompatibles, ahora mismo no sé si había alguno o no, pero el asistente os avisará de eso mientras los marcáis :)

Y una vez hecho todo ésto ya tenéis listo eclipse para trabajar cómodamente con Ruby. Veréis que se ha añadido un nuevo tipo de proyecto Rails Project, que se han añadido un par de pestañas Server, Generators, Rake Tasks, Ri, Rails Plugings... que permiten manejar todo lo referente a ruby. Desde Generator podréis hacer todo aquello de ./script/generate ajax_scaffold cliente sin tener que iros a una consola y de una forma más comoda (desplegable + caja de texto), desde Server podéis gestionar los servidores de vuestras aplicaciones viendo el estado, el puerto, el estado y el proyecto al que corresponde cada servidor... todo muy cómodo :)

Ale, a disfrutar! jeje...

1 comentario:

Anónimo dijo...

muuuuchas gracias.