Articulo de referencia

Rubí Gemas

RubyGems es un gestor de paquetes para el lenguaje de programación Ruby que proporciona un formato estándar para distribuir programas y bibliotecas Ruby (en un formato autoconte...

RubyGems es un gestor de paquetes para el lenguaje de programación Ruby que proporciona un formato estándar para distribuir programas y bibliotecas Ruby (en un formato autocontenido llamado "gem"), una herramienta diseñada para gestionar fácilmente la instalación de gems y un servidor para distribuirlas. Fue creado por Chad Fowler , Jim Weirich , David Alan Black , Paul Brannan y Richard Kilmer en 2004. [ 2 ]

La interfaz de RubyGems es una herramienta de línea de comandos llamada gem , que permite instalar y gestionar bibliotecas (las gemas). [ 3 ] RubyGems se integra con el cargador de tiempo de ejecución de Ruby para facilitar la búsqueda y carga de las gemas instaladas desde carpetas de bibliotecas estandarizadas. Si bien es posible utilizar un repositorio privado de RubyGems , el repositorio público es el más utilizado para la gestión de gemas.

El repositorio público ayuda a los usuarios a encontrar gemas, resolver dependencias e instalarlas. RubyGems viene incluido con el paquete estándar de Ruby desde la versión 1.9. [ 4 ]

Historia

El desarrollo de RubyGems comenzó en noviembre de 2003 y se lanzó al público el 14 de marzo de 2004, o Día de Pi de 2004. [ 5 ]

Fue creado por Chad Fowler , Jim Weirich , David Alan Black , Paul Brannan y Richard Kilmer durante RubyConf 2004. [ 2 ]

En 2010, el repositorio público predeterminado para gemas pasó de gems.rubyforge.org a rubygems.org, que aún se utiliza. Asimismo, el desarrollo de RubyGems se trasladó a GitHub en 2010. Si bien RubyGems existe desde Ruby 1.8, no formó parte de la distribución estándar de Ruby hasta Ruby 1.9.

Hubo 38 lanzamientos entre 2004 y 2010. [ 5 ]

Anteriormente, la compatibilidad entre RubyGems y Ruby variaba. Muchas versiones de RubyGems eran casi totalmente incompatibles con muchas versiones de Ruby, y algunas versiones tenían características clave inutilizables. Por ejemplo, Ruby 1.9 incluía RubyGems 1.3.7 en su distribución estándar, pero RubyGems 1.4.x no era compatible con Ruby 1.9. Esto significaba que actualizar RubyGems en Ruby 1.9 no era posible hasta que se lanzó RubyGems 1.5.0 en 2011, dos años después del primer lanzamiento estable de Ruby 1.9. [ 6 ] Estos problemas de compatibilidad llevaron a un rápido desarrollo de RubyGems, pasando a un ciclo de lanzamiento de 4 a 6 semanas y a un mayor número de versiones. [ 5 ]

Hubo 117 lanzamientos entre 2011 y 2016. Se lanzaron 45 versiones en 2013, lo que representa el mayor número de lanzamientos en un año para RubyGems. [ 5 ]

Estructura de una gema

Cada gema contiene un nombre, una versión y una plataforma. Las gemas solo funcionan en Ruby diseñado para una plataforma particular según la arquitectura de la CPU y el tipo y la versión del sistema operativo. [ 7 ]

Cada gema consta de:

  1. Código
  2. Documentación
  3. Especificación de gemas (Gemspec)

La organización del código sigue la siguiente estructura para una gema llamada gem_name :

nombre_de_la_gema/ ├── contenedor/ │ └── nombre_de_la_gema ├── lib/ │ └── gem_name.rb ├── prueba/ │ └── test_gem_name.rb ├── LÉEME ├── Archivo Rake └── gem_name.gemspec 
  • El directorio lib contiene el código de la gema.
  • El directorio de pruebas (o especificaciones) se utiliza para realizar pruebas.
  • Rakefile es utilizado por Rake para automatizar pruebas y generar código.
  • El archivo README incluye la documentación, RDOC , para la mayoría de las gemas.
  • La especificación de la gema (gemspec) contiene información sobre el autor de la gema, la fecha de creación y la finalidad de la gema.

Preocupaciones de seguridad

Dado que las gemas ejecutan su propio código en una aplicación, pueden generar diversos problemas de seguridad debido a la instalación de gemas maliciosas. El creador de una gema maliciosa podría comprometer el sistema o servidor del usuario. [ 8 ]

Se han desarrollado varios métodos para contrarrestar la amenaza a la seguridad:

Véase también

Referencias

  1. ^ "Versión 4.0.15" . 23 de junio de 2026. Consultado el 24 de junio de 2026 .
  2. ^ a b "174 Rubygems con Eric Hodel" . Archivado del original el 31/07/2021 . Consultado el 09/05/2018 .
  3. ^ "Referencia de comandos de RubyGems" . guides.rubygems.org . Consultado el 18 de septiembre de 2016 .
  4. ^ "Registro de cambios de Ruby 1.9.1" . Archivado del original el 17 de enero de 2022.
  5. ^ a b c d "Historial de versiones de RubyGems" . GitHub . Consultado el 18 de septiembre de 2016 .
  6. ^ "Ruby 1.9.1 lanzado" . www.ruby-lang.org . Consultado el 18 de septiembre de 2016 .
  7. ^ "¿Qué es una gema? - RubyGems.org" . guides.rubygems.org . Consultado el 18 de septiembre de 2016 .
  8. ^ "Seguridad - Guías de RubyGems" . guides.rubygems.org . Consultado el 23 de septiembre de 2016 .
  • Sitio web oficial
  • Artículo de Linux Journal
Obtenido de " https://en.wikipedia.org/w/index.php?title=RubyGems&oldid=1305699118 "