Ruby ist eine der beliebtesten Sprachen im Internet. Wir haben hier auf Nettuts + eine neue Session gestartet, die Sie in Ruby einführen wird, sowie die großartigen Frameworks und Tools, die mit der Ruby-Entwicklung einhergehen. Heute betrachten wir das großartige Verpackungssystem, das Ruby für die Verteilung von Programmen und Bibliotheken bietet: Gems.
Es ist wirklich ziemlich einfach. Sie können sich einen Ruby Gem als Bibliothek oder Plug-In vorstellen. Es ist eine Funktion, die Sie installieren, um eine bestimmte Anforderung zu erfüllen. Wenn das vage klingt, sind hier einige praktische Probleme, die Edelsteine lösen:
Das sind nur einige Dinge, die Sie mit Edelsteinen machen können.
Kurz gesagt, dafür gibt es ein Juwel.
Bevor wir Edelsteine installieren und verwenden können, müssen wir die RubyGems-Bibliothek installieren. Natürlich muss Ruby zuerst installiert sein, aber das sollte man jetzt haben.
Wenn Sie mit Ruby 1.9. * Arbeiten (was wir in dieser Serie verwenden), müssen Sie sich keine Sorgen um die Installation von RubyGems machen. Wenn Sie sich für Ruby 1.8. * entschieden haben, ist die Installation nicht zu schwer. Gehen Sie einfach zur RubyGems-Downloadseite, laden Sie die TAR oder ZIP herunter, öffnen Sie sie und führen Sie sie aus ruby setup.rb
im Terminal von diesem Ordner aus Möglicherweise benötigen Sie dazu Administratorrechte (Sudo
Starten Sie auf Unix-Systemen die Befehlszeile mit "Als Administrator ausführen" unter Windows). Das bringt dich zum Laufen.
Wenn Sie der Meinung sind, dass Sie bereits RubyGems installiert haben, führen Sie es aus gem -v
um die Versionsnummer zu erhalten. Die neueste Version ist 1.6.2. Wenn Sie ein Upgrade durchführen möchten, führen Sie es aus gem update - system
. Möglicherweise benötigen Sie Administratorrechte. Ich sollte erwähnen, dass, wenn Sie unter Windows sind und Ruby über den RubyInstaller installiert haben, RubyGems installiert ist.
Nachdem Sie nun die RubyGems-Bibliothek installiert haben, können Sie damit beliebige Edelsteine installieren. Wie machst Du das? Wieder ist es ziemlich einfach. Der schwierige Teil besteht darin, den Edelstein zu finden, den Sie verwenden möchten. Häufig können Sie einfach nach der gewünschten Funktionalität suchen. Sobald Sie den Edelstein gefunden haben, installieren Sie ihn folgendermaßen:
Gem installieren Sie GEM_NAME
Es ist jedoch wichtig, auf die Dokumentation des Edelsteins zu achten. Es gibt möglicherweise einige Argumente, die Sie zu diesem Befehl hinzufügen sollten. In den meisten Fällen sollte dies jedoch durchkommen.
Noch eine Anmerkung zum Installieren von Edelsteinen: Möglicherweise stellen Sie fest, dass die Dokumentation eines Edelsteins Sie dazu auffordert Sudo
bei der Installation Wenn Sie sich auf einem Mac befinden und RVM verwenden (wie es sein sollte :)), gehen Sie einfach Sudo
aus. Bei Verwendung wird der Gem für alle Benutzer auf dem Computer installiert, und es kann zu Problemen mit den verschiedenen Ruby-Umgebungen kommen, die Sie möglicherweise mit RVM haben.
In dieser Serie verwenden wir mehrere Ruby-Edelsteine, damit Sie sehen können, wie sie in einem "echten" Projekt funktionieren. Wenn Sie jetzt einige installieren möchten, probieren Sie den Markdown (Maruku) oder den Amazon S3 (aws-s3).
gem install maruku gem installieren aws-s3
Sie haben also Ihre Edelsteine installiert. was jetzt? Nun, nimm sie natürlich! Es gibt zwei Möglichkeiten, Edelsteine zu verwenden. Einige sind eigenständige Ruby-Programme, die Sie (meistens über die Befehlszeile) ausführen, um etwas auszuführen. Das Rails-Juwel ist ein hervorragendes Beispiel dafür. Sie laufen Schienen neuer PROJECT_NAME
von der Kommandozeile aus, um ein neues Schienenprojekt zu generieren; Dann werden Sie es zu anderen Zeitpunkten verwenden, um Modelle, Controller usw. zu generieren. Dann gibt es Juwelen, die Sie nur in eigenen Projekten verwenden können, wie beispielsweise das Amazon S3-Juwel. Es ist nicht sehr gut für sich, aber es ist sehr nützlich in Verbindung mit Ihrem Code. Wenn Sie einen Edelstein in Ihrem Code verwenden möchten, müssen Sie ihn zuerst anfordern. Dies geschieht normalerweise am Anfang der Datei.
erfordern 'rubygems' # nur bei Ruby 1.8 erforderlich 'aws / s3' # der S3 gem
Ich glaube nicht, dass wir darüber gesprochen haben benötigen
Vor; Ruby lädt nicht standardmäßig alles, also können Sie es verwenden benötigen
um zusätzliche Bibliotheken zu laden, die Sie verwenden möchten. Wir werden mehr davon sehen, wenn wir fortfahren.
Schließlich tun einige Edelsteine beides. Der Maruku-Edelstein konvertiert Markdown in HTML. Ich benutze es ständig von der Kommandozeile aus:
maruku doc.markdown
Das Markdown-Dokument wird in HTML konvertiert. Sie können es jedoch auch aus Ihrem Code verwenden:
Required 'maruku' str = "#Dies ist ein Titel \ n \ n * einige \ n * Liste \ n * Elemente" md = Maruku.new (str) md.to_html_document
Wenn Sie ein Projekt erstellt haben, möchten Sie es möglicherweise freigeben oder auf einem anderen Computer verwenden. Alle anderen Betreiber müssen jedoch die richtigen Edelsteine installiert haben. Jetzt können Sie die Installation mit einem Projekt namens Bundler einfach gestalten. Bundler kann viel, aber wir kratzen gerade die Oberfläche.
Zunächst ist Bundler selbst ein Juwel; Sie können es installieren, indem Sie ausführen gem install Bundler
.
Erstellen Sie dann im Stammverzeichnis Ihres Projekts eine Datei mit dem Namen Gemfile
. Dadurch wird festgelegt, welche Edelsteine Sie für dieses Projekt benötigen.
Die erste Zeile (n) Ihres Gemfile wird Bundler mitteilen, wo Sie Ihre Edelsteine finden können. Edelsteine leben in Online-Repositories, daher müssen sie wissen, wo sie zu finden sind. In den meisten Fällen reicht es aus, nur rubygems.org als Quelle zu verwenden. Sie können jedoch auch mehrere Quellen verwenden, wenn Sie möchten.
Quelle "http; // rubygems.org"
Dann listen Sie einfach Ihre Edelsteine auf:
gem "schienen", "3.0.1" gem "maruku" gem "aws-s3",: required => "aws / s3"
Beachten Sie, dass wir sagen können, welche Version eines Edelsteins wir benötigen, wenn wir eine bestimmte Version benötigen. Beachten Sie auch den Hash (wir haben die Klammern weggelassen, weil wir dies tun können) auf den dritten Edelstein. Dies sagt Bundler, wie wir es tun müssen benötigen
das Juwel Dies ist nur erforderlich, wenn zwei Dinge zutreffen: 1) Ein Edelstein mit einem anderen Namen als dem Namen, mit dem er installiert wird, ist erforderlich. 2) Wir verwenden Bundler, um die Edelsteine zu benötigen.
Wenn Sie viele Edelsteine haben, können Sie Bundler verwenden, um sie alle in Ihrem Code anzufordern. Mach einfach das:
erfordern 'Bundler / Setup' Bundler.require (: default)
Dadurch werden alle diese Edelsteine geladen. Dies ist natürlich viel nützlicher, wenn Sie einige der erweiterten Konfigurationen von Bundler verwenden.
Letztes Mal habe ich Sie, Leser / Beobachter, gefragt, was Sie als nächstes sehen möchten. Sie haben ganz klar gesagt: "Webzeug"? In der nächsten Lektion verwenden wir das einfache Framework Sinatra, um eine Website zu erstellen. Bis dann!