Die Programmiersprache Ruby

Blog| Forum| Wiki  

Ein Gem ist eine Art Programmmbibliothek für Ruby. So ziemlich alle Erweiterungen für Ruby gibt es per Gem. Ein Gem ist dabei nicht auf reinen Ruby-Code beschränkt, es kann auch ohne weiteres eine C-Extension beinhalten. Für einen reibungslosen Ablauf einer Gem-Installation sorgt (hoffentlich) das Ruby-Build-Tool rake. Um Namensverwirrungen vorzubeugen: Mit RubyGems ist die Software selbst gemeint, Gems sind die einzelnen Softwarepakete.

Anmerkung

In vielen Fällen ist die RubyGems-Software nicht mehr aktuell. Die aktuelle RubyGems-Version ist 1.3.6, ein gem update --system sollte auf die aktuelle Version updaten. Die Versionen 1.1.x und 1.2.x von gem haben allerdings Probleme beim Update. Sollte die Meldung Nothing to update erscheinen, kann das Gem "rubygems_update" installiert werden. Anschließend kann mithilfe des dann verfügbaren Programms update_rubygems (ohne gem davor!) die RubyGems-Software aktualisiert werden.

Inhaltsverzeichnis

Installation eines Gems

Ein Gem zu installieren ist nicht weiter schwierig. Ist Ruby ordentlich installiert (das heißt, das bin-Verzeichnis ist im PATH), so müsste auf der Konsole das Programm gem zur Verfügung stehen. Um ein Gem zu suchen, kann man das Kommando search verwenden. Der Parameter --remote bewirkt dabei, dass online gesucht wird und nicht auf dem lokalen Rechner. install ist der Befehl, um ein Gem zu installieren. Danach sollte es sofort per require verfügbar sein.

$ gem search hpricot --remote

*** REMOTE GEMS ***

hpricot (0.8.1)
hpricot-scrub (0.2.0)
hpricot_scrub (0.3.7)
rspec_hpricot_matchers (1.0)

# gem install hpricot
...jede Menge Output...

Deinstallation

...funktioniert genauso einfach.

# gem uninstall hpricot

Weitere nützliche gem-Befehle

Vor jedes dieser Kommandos ein gem denken.

  • --version Gibt die RubyGems-Version aus. Aktuell ist 1.3.6.
  • cleanup Entfernt alte Gem-Versionen.
  • env Dies zeigt Informationen über die RubyGems-Umgebung an, u.a. den Installationspfad für Gems, die RubyGems-Version, usw.
  • list --local Gibt eine Liste aller für diese Ruby-Installation installierten Gems aus.
  • outdated Listet alle Gems, die geupdated werden müssen.
  • push Veröffentlicht ein Gem auf rubygems.org, sodass es per install installiert werden kann.
  • update Führt ein Generalupdate aller installierten Gems durch.
  • update gem1 gem2 ... Updated nur bestimmte Gems.
  • update --system Essentieller Befehl zum Update der RubyGems-Software selbst.
  • yank Entfernt ein bereits veröffentlichtes Gem wieder vom Index. Es bleibt jedoch für den direkten Download über rubygems.org verfügbar, um das _why-Szenario zu verhindern.

Siehe auch