0Pricing
Ruby Academy · Lektion

Gem-Struktur

Dateien und gemspec

Gem-Struktur ist eine kostenlose Ruby Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ruby Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist ein Gem?

Ein Gem ist eine paketierte Ruby-Bibliothek oder -Anwendung, die über RubyGems installiert, versioniert und geteilt werden kann. Fast jedes Ruby-Tool, das Sie verwenden, ist ein Gem.

  • Ein Gem bündelt Code, Metadaten und Abhängigkeiten.
  • Die Metadaten befinden sich in einer gemspec-Datei.
  • Tools wie bundler und gem verwalten Gems.

Ein Grundgerüst erzeugen

Am schnellsten starten Sie mit bundle gem mygem. Dadurch werden die Standardverzeichnisstruktur, eine gemspec, ein Testverzeichnis, eine README-Datei und eine Lizenzvorlage erstellt. Anschließend ergänzen Sie den Code.

Die Standardstruktur

Ein typisches Gem namens mygem sieht so aus:

  • lib/mygem.rb die Einstiegsdatei.
  • lib/mygem/ zusätzliche Quelldateien.
  • lib/mygem/version.rb die Versionskonstante.
  • mygem.gemspec die Metadaten.
  • test/ oder spec/ die Tests.
  • README.md und eine Lizenzdatei.

Die Einstiegsdatei

lib/mygem.rb wird geladen, wenn jemand require 'mygem' ausführt. Die Datei bindet normalerweise die Versionsdatei und den Rest der Bibliothek ein und definiert das Modul der obersten Ebene.

module Mygem
  def self.greet(name)
    "Hello, " + name
  end
end

puts Mygem.greet("world")

Die Versionsdatei

Wenn die Version in einer eigenen Datei steht, können sowohl die gemspec als auch der Code sie auslesen. Üblicherweise befindet sich eine VERSION-Konstante im Modul des Gems.

module Mygem
  VERSION = "0.1.0"
end

puts "Current version: " + Mygem::VERSION

Was ist eine Gemspec?

Die gemspec ist eine Ruby-Datei, die das Gem beschreibt: seinen Namen, seine Version, den Autor, die Zusammenfassung, die Dateien und die Abhängigkeiten. RubyGems liest sie ein, um das Paket zu erstellen und zu veröffentlichen.

Sie besteht aus normalem Ruby-Code, daher können Sie Werte berechnen. Halten Sie sie jedoch einfach und deklarativ.

Eine minimale Gemspec

Zu den wichtigsten Feldern gehören name, version, authors, summary und files. Hier sehen Sie die Grundstruktur in einfachem Ruby-Code, den Sie in mygem.gemspec einfügen könnten.

require "ostruct"

spec = OpenStruct.new
spec.name = "mygem"
spec.version = "0.1.0"
spec.authors = ["Your Name"]
spec.summary = "A tiny example gem"

puts spec.name + " " + spec.version

Dateien auflisten

Die gemspec muss angeben, welche Dateien im Gem enthalten sein sollen. Viele gemspec-Dateien fragen Git nach den versionierten Dateien ab, damit nichts vergessen wird:

spec.files = Dir['lib/**/*.rb'] + ['README.md']

Nur aufgelistete Dateien werden paketiert. Eine vergessene Datei führt daher zu einer fehlerhaften Installation.

Abhängigkeiten deklarieren

In die gemspec gehören zwei Arten von Abhängigkeiten:

  • add_dependency für Laufzeitabhängigkeiten, die Benutzer installieren müssen.
  • add_development_dependency für Tools, die nur während der Entwicklung verwendet werden, etwa Test-Frameworks.

Verwenden Sie Versionsbedingungen wie '~> 1.2', um kompatibel zu bleiben.

Erforderliche Ruby-Version

Setzen Sie spec.required_ruby_version, damit Benutzer mit einer zu alten Ruby-Version eine verständliche Fehlermeldung statt eines verwirrenden Absturzes erhalten. Ergänzen Sie außerdem homepage, license und metadata, damit Ihr Gem einen professionellen Eindruck macht.

required = ">= 3.0.0"
current = RUBY_VERSION
puts "Requires Ruby " + required
puts "Running Ruby " + current

Das Gem erstellen

Sobald die gemspec fertig ist, erzeugt gem build mygem.gemspec eine .gem-Datei. Sie können sie zum Testen vor der Veröffentlichung lokal mit gem install ./mygem-0.1.0.gem installieren.

Schnelltest

Testen Sie Ihr Verständnis der Gem-Struktur.

Zusammenfassung: Gem-Struktur

Sie haben gelernt, wie ein Gem aufgebaut ist:

  • bundle gem erstellt das Grundgerüst.
  • lib/mygem.rb ist der Einstiegspunkt.
  • Die Version befindet sich in einer eigenen Datei.
  • Die gemspec enthält Metadaten, Dateien und Abhängigkeiten.
  • gem build paketiert das Gem.

Als Nächstes organisieren wir den eigentlichen Code im Gem.

Häufig gestellte Fragen

Ist die Lektion „Gem-Struktur“ kostenlos?

Ja — der vollständige Text von „Gem-Struktur“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ruby Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ruby Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Gem-Struktur“?

Dateien und gemspec Du übst Ruby Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Ruby Academy zu starten?

Keine Vorkenntnisse erforderlich. Ruby Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Gem-Struktur“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Ruby Academy-Lektion Code schreiben und ausführen?

Ja. Jede Ruby Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Gem-Struktur
  2. Den Code schreiben
  3. Testen und Versionieren
  4. Auf RubyGems veröffentlichen
← Zurück zu Ruby Academy