Selon la réponse précédente, c'est beaucoup à couvrir, alors considérez ceci comme une brève introduction.
les gemmes sont la façon dont les bibliothèques Ruby sont empaquetées. Ils sont à Ruby ce que les pots sont à Java. Dans un fichier gem, vous trouvez du code Ruby (fichiers .rb), mais aussi des tests, et un fichier spécial donnant des informations sur le gem lui-même, comme son nom, ses dépendances et sa version ( gemspec ). Tout projet Ruby peut définir les gemmes dont il a besoin via un Gemfile qui a juste besoin de déclarer des dépendances. Rubygems est le nom du gestionnaire de packages - l'outil utilisé pour installer les packages (tandis que les gemmes sont les packages eux-mêmes). Rubygems fait désormais partie de Ruby.
Bundler est ce qui rend la gestion des gemmes supportable. Sur la base de votre Gemfile, un simple appel au bundler à l'aide de l' installation groupée téléchargera et installera tous les gemmes nécessaires. En utilisant la commande gem standard, vous devrez installer chacun d'eux manuellement, en utilisantgem install <gem_name>
. Bundler ne fait pas partie de Ruby (il est lui-même emballé comme un bijou ), mais c'est un "standard de facto" pour la plupart des applications (vous ne trouverez pas beaucoup de gens qui ne l'utilisent pas, et aucune bonne raison de ne pas l'utiliser, en fait).
RVM est un outil vous permettant d'installer plusieurs versions de Ruby sur une machine, en basculant entre elles en cas de besoin. Cela peut être utilisé pour installer à la fois un Ruby 1.8 et 1.9, ou même un "MRI" (Ruby de Matz, l'implémentation par défaut) et des alternatives (comme JRuby ou Rubinius). Notez que RVM n'est pas seul dans ce domaine, voir par exemple rbenv .
Un gemset dans RVM est un ensemble de pierres précieuses spécifiques à un contexte donné, généralement un projet. Ceci est utile si vous développez par exemple différentes applications, chacune avec ses propres ensembles de gemmes, et que vous souhaitez les séparer.
système Ruby est, lors de l'utilisation de RVM, la version Ruby installée sur la machine (c'est-à-dire pas via RVM).
Si vous ne faites que commencer, les gemmes et le bundler vous intéressent. Vous pouvez laisser RVM et gemmes de côté pour le moment.