2017-09-07 1 views
0

Im Zusammenhang mit this, aber nicht das Gleiche.Schienen: Gem installieren vs Git Klon

Ich bin neu in Rails und sogar mit Ruby normalerweise mache ich nur Konsolen-Dienstprogramme, um eine ganz bestimmte Dinge zu tun, die ich tun muss.

Ich möchte mehr über Rails lernen und einige Open-Source-Rails-Anwendungen ausprobieren. Zur Diskussion möchte ich sagen, ich möchte Storytime CMS einrichten.

In der Installationsanleitung heißt es, ich muss gem storytime zu meinem Gemfile hinzufügen. Während ich weiß, wie dies zu tun, und ich weiß, dass dies das Äquivalent ist (Art) zu gem install storytime, was ich nicht verstehe, ist: Was zwischen

  1. gem install storytime
  2. Clone das Git Repository und führen die anders ist bundle install

Und weiter, dass in meiner aktuellen Maschine nach Git Repository klonen, bundle install laufen (ja, ich bundler gem installiert haben) gab mir einen Fehler. Während gem install storytime ging erfolgreich.

Auch der Leitfaden sagt "Add Storytime zu Ihrem Gemfile". Wenn ich von Null angefangen habe, habe ich Gemfile noch nicht. Ist das, wenn ich zuerst bundle init tun muss?

Ich weiß, das ist ziemlich Neuling Frage, aber ich habe darüber gesucht und kann keine klaren Informationen erhalten. Danke vielmals.

+0

ja Sie Bündel init zuerst tun kann oder erstellen Sie einfach ein ' Gemfile manuell und stellen Sie sicher, dass die erste Zeile ist "Quelle" http://rubygems.org "' –

+0

Also in welcher Situation möchte ich Git Repo klonen und 'Bündel installieren 'ausführen? – Pelangi

+0

Nicht jeder kommt dazu, seinen Code als Schmuckstück zu verpacken, also muss man das manchmal tun. Zu anderen Zeiten kann es nützlich sein, die Quelle zu klonen, um einige geringfügige Änderungen vorzunehmen, z. eine Gabel. –

Antwort

0

Gems sind Rubys Verpackungsmechanismus. Es ist eine Möglichkeit, verpackten Ruby-Code über einen zentralisierten Dienst (rubygems.org) zu verteilen. Entwickler können Edelsteine ​​bauen und sie auf rubygems.org hochladen, so dass andere Entwickler leichten Zugang zum "gemmisierten" Quellcode haben.

Hinweis: "Zentralisiert" ist eine Vereinfachung: Sie können Ihren eigenen Gem-Server einrichten und stattdessen diesen verwenden. Dies ist nützlich für private Edelsteine.

Wenn Sie eine git clone tun, dann laden Sie den Quellcode von einem Git-Repository (in der Regel github.com, kann aber etwas anderes sein).

Sie können Bündler auch Gems aus einem Git-Repository holen lassen. Dies ist praktisch, wenn Sie eine bestimmte Version des Edelsteins benötigen, die noch nicht veröffentlicht wurde. I.e. Die Fehlerbehebung für einen Fehler wurde an das Repository übergeben, es wurde jedoch keine neue Version veröffentlicht.

kurz So würde ich es mag: Git: wo Entwickler auf dem Code arbeiten, verbessern sie Gem: verpackt, Snapshot-Code