Un espacio para los entusiastas del web

4 com comentarios en total.
30 Nov 2009
4,910 Lecturas
Tags: Programación, Software Libre, Desarrollo Web, , , y 2 más.

Guía Ruby: Introducción a RubyGems

RubyGemsYa hemos visto Guía hispana sobre Ruby, Ruby y la Gema Twitter_Search ahora veamos RubyGems un gestor de paquetes para el lenguaje de programación Ruby que permite distribuir programas o librerías.

En otras palabras RubyGems nos provee de una aplicación llamada gem que permite instalar, desinstalar y consultar sobre las librerías o gemas que tengamos instalada en la computadora para implementar en el desarrollo. Para aquellos programadores que tengan más experiencia con otros lenguajes de programación RubyGems es equivalente a CPAN o PEAR de los lenguajes Perl y PHP, respectivamente, con la cual nos van a permitir expandir las funcionalidades del lenguaje.

Características de RubyGems

  • Fácil de instalar y desinstalar los paquetes de RubyGems, con la posibilidad de resolver las dependencias.
  • Gestión y Control local de paquetes.
  • Consulta, búsqueda tanto local como remotamente todos los paquetes.
  • Múltiples versiones de apoyos para los paquetes instalados.
  • Interfaz basada en web para ver las gemas o paquetes instalados.
  • Interfaz fácil de usar para la construcción de las gemas.

Instalación de RubyGems

Si corres en Snow Leopard la buena noticia es que ya esta instalado. Pero los no tan afortunados la instalación de RubyGems es sumamente simple y sencilla, de hecho existen varias maneras de instalarlo.

Lo primero que se nos ocurriría hacer es descargar la última versión estable de RubyGems, descomprimirlo en algún directorio local de nuestra computadora, ingresar a una Terminal o Consola y por último debes tener permiso de super usuario root.

Una vez que hayas descomprimido el paquete que contiene RubyGems, vas a notar que en su árbol de directorio se encuentra organizado, podemos encontrar los binarios (/bin), documentación (/doc), ejemplos (/examples), etc. Entro ellos como siempre vamos a encontrar el archivo README, en donde sería indispensable leerlo para conocer algunas características necesarias para lograr instalar exitosamente RubyGems.

Ahora solo nos queda ejecutar el archivo llamado setup.rb la cual nos va a instalar completamente RubyGems

$ ruby setup.rb

Una ves escrito esto vamos a ver que por la salida estardar de la consola aparecerá los archivos que va creando y como se está llevando a cabo la instalación.

Otra forma quizás más simple de instalar es utilizando algún gestor de paquetes, por ejemplo el conocido apt-get de la distribución GNU/Linux Debian, RubyGems de hecho se encuentra en los repositorio de casi todas las últimas distribuciones GNU.

Por ello si te encuentras utilizando una distribución de éstas, solo necesitaras buscar e instalar estos paquetes, libyaml-ruby, libzlib-ruby y luego rubygems.

$ apt-get install libyaml-ruby libzlib-ruby rubygems

Para ver si esta todo instalado, podemos consultar cuál es la versión instalada:

$ gem --version
1.3.1

Para conocer más sobre las características de cada versión y enterarnos de todas las novedades el sitio rubyforge.org es el indicado para mantenerse actualizado.

Manos a las obras y a conocer un poco más

Listado de Gemas en un servidor externo

Antes de instalar un paquete o gema determinada, es necesario saber si se encuentra en un repositorio externo, para ello hacemos lo siguiente:

$ gem query --remote

O para aquellos programadores que están más acostumbrado al universo resumido de los Unix tenemos la versión más corta

$ gem q -r

Ambas salidas son equivalente y nos muestran el nombre del paquete y la versión más reciente alojada en ese servidor externo. De esta manera ahora tenemos la noción de para buscar el paquete necesario.

Si necesitamos instalar una gema determinada pero no conocemos el nombre exacto del paquete, entonces podemos buscar dependiente del nombre en un repositorio externo de la siguiente manera:

$ gem query --remote --name-matches yaml

*** REMOTE GEMS ***

dm-yaml-adapter (0.6)
feedtools-cache-yaml (0.0.2)
RbYAML (0.2.0)
ya2yaml (0.26)
yamlconfig (0.1.2)
yamler (0.1.0)
yamlrpc (1.0.4)
yamltest (0.5.3)

Y como salida estándar podemos obtener un lista con todas las gemas posibles que podemos instalar y su versión más reciente.

Ahora que ya sabemos buscar de manera general una gema en algún repositorio remoto, estamos en condiciones de poder instalarlo, para hacer esto simplemente debemos tipear:

$ gem install --remote progressbar

Para aclarar el ejemplo, nuevamente a través del comando gem estamos indicando con los argumentos que vamos a realizar una instalación sobre un repositorio remoto cuya gema tiene como nombre progressbar, si pueden observar no fue necesario indicar la versión del mismo

Por último para consultar si la gema realimente fue instalada exitosamente podríamos consultarlo de la siguiente manera:

$ gem list --local

Bueno hasta aquí un pequeño resumen de como utilizar RubyGems, una herramienta muy poderosa para ampliar la capacidad del lenguaje de programación Ruby y llevarlo a su máxima. Cabe aclarar que hoy en día podemos encontrar infinitas gemas para utilizar desarrollada tanto por empresas, como así también aficionados a este lenguaje de programación.

Ir al siguiente capítulo: Trabajando con la gema twitter-search

Daniel Martín MaldonadoDaniel Martín Maldonado para Maestros del Web.
Agrega tu comentario | Enlace permanente al artículo

Síguenos en: @maestros | Fan page

Comentarios

  1. Ruben Dinamarca Pardo

    No entiendo. En todo caso cómo me inscribo ya que me interesa susprogramas. ¿Qué significan todas las claves que aparecen en lapágina?

    Responder
  2. Ruben Dinamarca Pardo

    ¿Cuanto es el valor de estos programas?

    Responder
  3. Hola Ruben –

    Estas claves o “comands” es como interactuamos con la consola, rubygems y ruby. Ruby y RubyGems es open source.

    Responder
  4. Hay demasiada disponibilidad de gemas en el mercado. Imagino que cuando estás empesando te da por ir instalando muchísimas y la pregunta es si algunas pueden generar conflictos con otras o si funcionan lo suficientemente independientes para no molestar a menos que en tu aplicación hagas el llamado correspondiente a varias de ellas?

    Responder

Deja tu Comentario

Maestros del Web se reserva el derecho de moderación de los comentarios. Evita utilizar palabras soeces, ataques directos, descalificativos, insultos, de lo contrario tu comentario será eliminado.



Acerca de
Maestros del Web nace cuando intentamos traducir Webmaster al Español. Nacimos orientados al diseño y desarrollo web. Hoy somos un espacio de apoyo para los entusiastas que participan en proyectos en la red.
Leer más de Maestros del Web