De acuerdo con la respuesta anterior, esto es mucho para cubrir, así que considérelo como una breve introducción.
las gemas son la forma en que se empaquetan las bibliotecas de Ruby. Son para Ruby lo que los tarros son para Java. Dentro de un archivo de gema, encontrará código Ruby (archivos .rb), pero también pruebas, y un archivo especial que brinda información sobre la gema en sí, como su nombre, dependencias y versión ( gemspec ). Cualquier proyecto Ruby puede definir las gemas que necesita a través de un Gemfile que solo necesita declarar dependencias. Rubygems es el nombre del administrador de paquetes, la herramienta que se usa para instalar los paquetes (mientras que las gemas son los propios paquetes). Rubygems ahora es parte de Ruby.
Bundler es lo que hace que la gestión de gemas sea soportable. Según su archivo Gemfile, una simple llamada al paquete usando la instalación del paquete descargará e instalará todas las gemas requeridas. Usando el comando estándar de gemas, tendrías que instalar cada uno de ellos manualmente, usandogem install <gem_name>
. Bundler no es parte de Ruby (en sí mismo está empaquetado como una joya ), pero es un "estándar de facto" para la mayoría de las aplicaciones (no encontrará mucha gente que no lo use, y no hay buenas razones para no usarlo, en realidad).
RVM es una herramienta que le permite instalar múltiples versiones de Ruby en una máquina, cambiando entre ellas cuando sea necesario. Esto se puede utilizar para instalar Ruby 1.8 y 1.9, o incluso un "MRI" (Ruby de Matz, la implementación predeterminada) y alternativas (como JRuby o Rubinius). Tenga en cuenta que RVM no está solo en este campo, consulte, por ejemplo, rbenv .
Un gemset en RVM es un conjunto de gemas específicas para un contexto determinado, por lo general un proyecto. Esto es útil si, por ejemplo, está desarrollando diferentes aplicaciones, cada una con su propio conjunto de gemas, y desea mantenerlas separadas.
system Ruby es, cuando se usa RVM, la versión de Ruby instalada en la máquina (es decir, no a través de RVM).
Si recién está comenzando, las gemas y el paquete son de su interés. Puede dejar a un lado RVM y gemas por ahora.