最初に、概念を定義しましょう。
RubyGemsは、Rubyライブラリおよびアプリケーションをインストールおよびパックするためのフレームワークです。
gem-ライブラリまたはアプリケーションを含むパッケージ(ファイル)。 標準化された外観を持ち、ネットワークストレージにあります。
gemコマンドツール -RubyGemsは、コマンドラインからgemパッケージを操作するためのgemユーティリティを提供します。 Rubyと統合されており、インストールされたgemをライブラリとしてアクセスできます。
RubyGemsの目的は何ですか?
RubyGemsが登場する前に、見つけなければならない新しいライブラリをインストールするために、それをダウンロードし、インストールを試みます。多くの場合、必要な依存関係がないことを確認するだけです。 ライブラリがRubyGemsを使用してパックされている場合は、RubyGemsにこれを実行してもらい、必要なすべての依存関係を備えたインストール済みの統合ライブラリを取得してください。 すべてに加えて、gemユーティリティはプラットフォームに依存しません。使用するOSに関係なく、ライブラリとアプリケーションのインストールメカニズムはどこでも同じです。 いいですね
カットの下で説明されます:
1)検索、詳細の取得、gemのインストール
2)インストールされたgemのドキュメントにアクセスする
3)インストールされたgemの使用
4)gemのバージョンを使用する
5)独自の宝石を作成する
1.検索、部品の入手、gemのインストール
現在のプロジェクトで多くのXMLが生成されているとします。 そして、Rubyコードで直接XMLを作成できるJim Weirichの素晴らしいBuilderライブラリがあると聞いたところです。
gemとして使用できるかどうかを見てみましょう。
% gem query --details --remote --name-matches build
*** REMOTE GEMS ***
AntBuilder (0.4.3)
Author: JRuby-extras
Homepage: jruby-extras.rubyforge.org
AntBuilder: Use ant from JRuby. Only usable within JRuby
builder (2.1.2)
Author: Jim Weirich
Homepage: onestepback.org
Builders for MarkUp.
...
--details-見つかったgemに関する詳細を表示します
--remote-リモートストレージで検索( --locale-ローカルマシンで検索)
--name-matches build-名前の文字列「build」の内容でgemをフィルタリングします
各宝石の名前の近くの数字は、最新バージョンを示しています。
特定のgemで使用可能なすべてのバージョンのリストは、 -allオプションを指定してlistコマンドを実行します。
% gem list --details --remote --all builder
*** REMOTE GEMS ***
builder (2.1.2, 2.1.1, 2.0.0, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.0,
1.0.0, 0.1.1, 0.1.0)
Author: Jim Weirich
Homepage: onestepback.org
Builders for MarkUp.
最新バージョンをインストールするには:
% gem install builder #RubyGems
デフォルトでは( RVMを使用していない場合)、システムディレクトリを使用してgemをインストールするため、Unixではgemコマンドの前にsudoを追加する必要があります。
コンピューターに既にインストールされているgemのリスト:
gem list
*** LOCAL GEMS ***
builder (2.1.2)
2.インストールされたgemのドキュメントを読む
gem builderをインストールしました。質問は、それをどのように使用するかです。
ほとんどの場合、gemにはドキュメントが含まれており、次のように/ docディレクトリに保存されます。
# gem's
% gem environment gemdir
/usr/local/lib/ruby/gems/1.9.0
/usr/local/lib/ruby/gems/1.9.0/doc-インストールされたgemのドキュメントです
/usr/local/lib/ruby/gems/1.9.0/doc/builder-2.1.2/rdoc/index.html-私の場合のgemビルダーのドキュメントへのフルパス
ドキュメントを読むには2つの方法があります。
1. gemドキュメントのあるディレクトリに移動し、index.htmlファイルを実行します
2. Webサーバーを起動する簡単な方法は、
% gem server
コマンドを使用することです
デフォルトでは、ポート8808で開始され、localhost:8808で利用可能になります
ブラウザには、インストールされているすべてのgemのドキュメントが表示されます。
Gemのディレクトリパスとポートは、 -pおよび-dオプションで上書きできます
3.インストールされたGemの使用
gemをインストールした後、接続するには<gem name>が必要なコマンドを記述するだけです。 つまり gemでの作業は、通常のライブラリでの作業と変わりません。
# XML require 'builder' xml = Builder::XmlMarkup.new(target: STDOUT, indent: 2) xml.person(type: "programmer") do xml.name do xml.first "Dave" xml.last "Thomas" end xml.location "Texas" xml.preference("ruby") end
4. gemのバージョンを使用する
使用しているgemの最新リリースバージョンが、現在使用しているgemと互換性がない場合はどうなりますか?
さいわい、RubyGemsでは、gemの複数のバージョンを同時に保存できます。 次のコマンドは、Builderの両方のバージョンをインストールします。
% gem install builder -v 2.1.2
% gem install builder -v 1.1.0
% gem list builder
*** LOCAL GEMS ***
builder (2.1.2, 1.1.0)
# builder v.1.1.0 gem 'builder', '= 1.1.0' require 'builder' xml = Builder::XmlMarkup.new(STDOUT, 2) xml.person do name("Dave Thomas") location("Texas") end
以下に、利用可能ないくつかのトリックを示します。
gem 'builder' , '> 1'
最初よりも大きいバージョンを使用します
gem 'builder' , ''>= 2.2.0', '< 3.0''
-2.2.0より大きく3.0より小さいバージョンを使用
式の完全なリスト:
=
!=
>
<
>=
<=
~> ( RubyGems docs)
5.独自の宝石を作成する
ここではすべてが非常に簡単です。基本的な手順を説明します。詳細はここで読むことができます
- gem 構造に対応するコードの記述
- 仕様ファイルの作成(ourgem.gemspec)
- gemファイルを作成する
% gem build mygem.gemspec
- 作成したgemをrubygems.orgサーバーに配置する
%gem push mygem.gemspec
ソース:
http://docs.rubygems.org/
Ruby 1.9 3rd Editionのプログラミング