Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > rubygemsライブラリ
RubyGems を扱うためのクラスやモジュールが定義されているライブラリです。
$ gem help RubyGems は Ruby のための高機能なパッケージ管理ツールです。 これはより多くの情報へのポインタを含んでいる基本的なヘルプメッセージです。 使用方法: gem -h/--help gem -v/--version gem command [arguments...] [options...] 例: gem install rake gem list --local gem build package.gemspec gem help install さらにヘルプ: gem help commands 全ての 'gem' コマンドをリストアップします gem help examples いくつかの使用方法の例を表示します gem help platforms プラットフォームに関する情報を表示します gem help <COMMAND> COMMAND に関するヘルプを表示します (e.g. 'gem help install') より詳しい情報: http://rubygems.rubyforge.org
例えば rak ( http://rak.rubyforge.org/ ) をインストールするには、以下のいずれかを実行します。
$ gem install rak $ sudo gem install rak
特定のバージョンの Gem パッケージをインストールするには以下のようにします。
$ gem install rak --version 0.8.1 # バージョン 0.8.1 をインストールする $ gem install rak --version '>= 0.5' # バージョン 0.5 以上のものをインストールする
Proxy サーバ経由で Gem パッケージをインストールするには以下のようにします。
$ gem install rak -p http://user:pasword@proxy.example.com/
例えば rak をアンインストールするには、以下のいずれかを実行します。
$ gem uninstall rak $ sudo gem uninstall rak
特定のバージョンの Gem パッケージをアンインストールするには以下のようにします。
$ gem uninstall rak --version 0.8.1
インストールされている Gem パッケージを更新するには以下のようにします。
$ gem update $ sudo gem update
特定の Gem パッケージを更新するには以下のようにします。
$ gem update rak
パッケージ名から Gem パッケージを探すことができます。 'active' という文字列をパッケージ名に含むパッケージを探すには以下のようにします。
$ gem search active # デフォルトではローカルにインストールされているものから検索します $ gem search active -r # -r オプションをつけるをリポジトリから検索します $ gem search active -r -a # -a オプションをつけると全てのバージョンを表示します
より詳細な条件で検索したい場合は query を使用してください。
$ gem query -n ^rails$ -r # rails にちょうど一致するものを検索する $ gem query -n ^rails -r # rails で始まるものを検索する
パッケージの詳細からキーワード検索することはできません。
作成した gemspec ファイルを元にして Gem パッケージを簡単に作成することができます。
$ gem build <gemspec filename>
最小の gemspec は以下のようになります。ビルドするために必要な最小の gemspec なので出来上がるのは メタデータのみを含む Gem パッケージです。また、いくつかの警告が表示されます。
Gem::Specification.new do |s| s.name = 'hello' s.version = '0.0.0' s.summary = 'hello summary' end
実用的なライブラリを作成するための gemspec の例を示します。 警告メッセージが出力されないようにいくつか設定を追加しています。
Gem::Specification.new do |s| s.name = 'hello' s.version = '0.0.0' s.summary = 'hello summary' s.files = ['lib/hello.rb'] s.authors = ['Hello Author'] s.email = 'hello_author@example.com' s.homepage = 'http://example.com/hello/' s.description = 'hello description' s.rubyforge_project = 'hello' end
この Gem の名前を指定します。
この Gem のバージョンを指定します。
この Gem の短い説明を指定します。
この Gem に含むファイルのリストを指定します。
この Gem の作者のリストを指定します。
この Gem の作者の連絡先メールアドレスを指定します。
この Gem のウェブサイトの URI を指定します。
この Gem の長い説明を指定します。
Rubyforge にプロジェクトがある場合、そのプロジェクト名を指定します。
実行可能なファイル (コマンド) を含む場合の gemspec は以下のようになります。
Gem::Specification.new do |s| s.name = 'hello' s.version = '0.0.0' s.summary = 'hello summary' s.files = ['bin/hello', 'lib/hello.rb'] s.executables = ['hello'] s.authors = ['Hello Author'] s.email = 'hello@example.com' s.homepage = 'http://example.com/hello' s.rubyforge_project = 'hello' s.description = 'hello description' end
ライブラリの例に加えて executables を追加しています。
また、以下のように Rakefile にタスクを追加することもできます。
require 'rake/gempackagetask' PKG_FILES = FileList[ 'lib/hello.rb', 'spec/*' ] spec = Gem::Specification.new do |s| s.name = 'hello' s.version = '0.0.1' s.author = 'Hello Author' s.email = 'hello@example.com s.homepage = 'http://example.com/hello' s.platform = Gem::Platform::RUBY s.summary = 'Hello Gem' s.files = PKG_FILES.to_a s.require_path = 'lib' s.has_rdoc = false s.extra_rdoc_files = ['README'] end Rake::GemPackageTask.new(spec) do |pkg| pkg.gem_spec = spec end
@see Gem::Specification, rake
環境変数 GEM_HOME, GEM_PATH を設定する事によって Gem コマンドの動作を変更することができます。 また、ホームディレクトリに .gemrc という YAML フォーマットで書かれたファイルを置くことでも 動作を変更することができます。
例:
--- :backtrace: false :benchmark: false :bulk_threshold: 1000 :sources: - http://gems.rubyforge.org :update_sources: true :verbose: true gemhome: /home/hoge/.gems gempath: - /usr/local/lib/ruby/gems/1.9 gem: --no-rdoc --no-ri
class ConsoleUI | Gem::StreamUI を標準入力、標準出力、標準エラー出力を使用して初期化します。 |
module Gem | |
class Gem::Builder | Gem::Specification のインスタンスから Gem パッケージを作成するためのクラスです。 |
module Gem::DefaultUserInteraction | このモジュールはデフォルトの Gem::UserInteraction を定義しています。 |
class Gem::Dependency | Gem の依存関係を管理するクラスです。 |
class Gem::GemPathSearcher | Gem パッケージに含まれているファイルのうちロード可能なものを検索するためのクラスです。 |
class Gem::Platform | 選択した Gem のインストールを実行できるプラットフォームのリストを扱うクラスです。 |
module Gem::QuickLoader | |
class Gem::RemoteFetcher | リモートソースから Gem パッケージや Gem パッケージの情報を取得するためのクラスです。 |
class Gem::Requirement | Gem の必要条件を扱うクラスです。 |
class Gem::SourceIndex | 個々のソースから取得した全ての有効な Gem パッケージをインデックス化するためのクラスです。 |
class Gem::SourceInfoCache | 個々の Gem パッケージのインデックス情報のコピーを保存するためのクラスです。 |
class Gem::SourceInfoCacheEntry | Gem::SourceInfoCache が持つエントリを表すためのクラスです。 |
class Gem::SpecFetcher | リモートリポジトリから Gem のメタデータを取得して更新するためのクラスです。 |
class Gem::Specification | Gem パッケージのメタデータを扱うためのクラスです。 |
class Gem::StreamUI | シンプルなストリームを実装したユーザインターフェイスです。 |
class Gem::StreamUI::SilentProgressReporter | 何もしない進捗報告のクラスです。 |
class Gem::StreamUI::SimpleProgressReporter | シンプルな表示を行う進捗報告のクラスです。 |
class Gem::StreamUI::VerboseProgressReporter | 現在の進捗に関するメッセージを表示する進捗報告のクラスです。 |
module Gem::UserInteraction | デフォルト UI にアクセスしやすくするためのモジュールです。 |
class Gem::Version | Gem パッケージのバージョンを扱うためのクラスです。 |
class SilentUI | 完全に何もしない UI です。 |
rubygems | RubyGems を扱うためのクラスやモジュールが定義されているライブラリです。 |
rubygems/builder | Gem::Specification のインスタンスから Gem パッケージを作成するためのライブラリです。 |
rubygems/defaults | RubyGems ライブラリで使用するデフォルト値を返すメソッドを定義したライブラリです。 |
rubygems/defaults/operating_system | (uninitialized) |
rubygems/dependency | Gem の依存関係を管理するためのライブラリです。 |
rubygems/digest/sha2 | Digest::SHA256 をラップするためのライブラリです。 |
rubygems/exceptions | RubyGems で使用する例外クラスを定義したライブラリです。 |
rubygems/gem_path_searcher | Gem パッケージに含まれているファイルのうちロード可能なものを検索するためのライブラリです。 |
rubygems/platform | 選択した Gem のインストールを実行できるプラットフォームのリストを扱うライブラリです。 |
rubygems/remote_fetcher | リモートソースから Gem パッケージや Gem パッケージの情報を取得するためのライブラリです。 |
rubygems/requirement | Gem パッケージのバージョンに関する必須条件を扱うためのライブラリです。 |
rubygems/source_index | 個々のソースから取得した全ての有効な Gem パッケージをインデックス化するためのライブラリです。 |
rubygems/source_info_cache | 個々の Gem パッケージのインデックス情報のコピーを保存するためのライブラリです。 |
rubygems/source_info_cache_entry | Gem::SourceInfoCache が持つエントリを表すためのライブラリです。 |
rubygems/spec_fetcher | リモートリポジトリから Gem のメタデータを取得して更新するためのライブラリです。 |
rubygems/specification | Gem パッケージのメタデータを扱うためのライブラリです。 |
rubygems/user_interaction | ユーザとのやりとりを行うライブラリです。 |
rubygems/version | Gem パッケージのバージョンを扱うためのライブラリです。 |
rubygems/command | gem コマンドを扱うためのライブラリです。 |
rubygems/command_manager | gem コマンドによってサポートされているサブコマンドを管理するライブラリです。 |
rubygems/commands/build_command | Gem パッケージをビルドするためのライブラリです。 |
rubygems/commands/cert_command | Gem パッケージの証明書や署名の設定を管理するためのライブラリです。 |
rubygems/commands/check_command | インストールされている Gem パッケージを検証するためのライブラリです。 |
rubygems/commands/cleanup_command | ローカルにインストールされている古い Gem を削除するライブラリです。 |
rubygems/commands/contents_command | インストールされている Gem パッケージに含まれているファイルリストを表示するためのライブラリです。 |
rubygems/commands/dependency_command | インストールされている Gem パッケージの依存関係を表示するためのライブラリです。 |
rubygems/commands/environment_command | RubyGems の環境に関する情報を表示するためのライブラリです。 |
rubygems/commands/fetch_command | Gem パッケージをダウンロードしてカレントディレクトリに保存するためのライブラリです。 |
rubygems/commands/generate_index_command | ある Gem サーバに対するインデックスを作成するためのライブラリです。 |
rubygems/commands/help_command | Gem コマンドに関するヘルプを提供するためのライブラリです。 |
rubygems/commands/install_command | Gem パッケージをローカルリポジトリにインストールするためのライブラリです。 |
rubygems/commands/list_command | Gem パッケージの名前を前方一致で検索するためのライブラリです。 |
rubygems/commands/lock_command | 指定された特定のバージョンの Gem パッケージに依存する Gem を使用するために 必要な [[Kernel.#gem]] メソッドの呼び出し方法を文字列で出力します。 |
rubygems/commands/mirror_command | リモートリポジトリをローカルリポジトリにミラーするためのライブラリです。 |
rubygems/commands/outdated_command | 更新が必要な Gem パッケージの一覧を出力するためのライブラリです。 |
rubygems/commands/pristine_command | インストールされている Gem パッケージを初期状態にするためのライブラリです。 |
rubygems/commands/query_command | Gem パッケージの情報を検索するためのライブラリです。 |
rubygems/commands/rdoc_command | RDoc と ri のライブラリを生成するためのライブラリです。 |
rubygems/commands/search_command | 指定された文字列を含む Gem パッケージを全て表示するためのライブラリです。 |
rubygems/commands/server_command | ローカルにインストールされている Gem パッケージとそのドキュメントを HTTP サーバに 載せて公開するためのライブラリです。 |
rubygems/commands/sources_command | Gem パッケージの取得元の情報を管理するためのライブラリです。 |
rubygems/commands/specification_command | 指定された Gem パッケージの gemspec の情報を YAML 形式で表示するためのライブラリです。 |
rubygems/commands/stale_command | インストールされている Gem パッケージの一覧をアクセス時刻とともに表示するための ライブラリです。 |
rubygems/commands/uninstall_command | Gem パッケージをアンインストールするためのライブラリです。 |
rubygems/commands/unpack_command | 指定された Gem パッケージをカレントディレクトリに展開するためのライブラリです。 |
rubygems/commands/update_command | ローカルリポジトリにインストールされている Gem パッケージを更新するためのライブラリです。 |
rubygems/commands/which_command | 指定された Gem パッケージに含まれるライブラリのパスを見つけるためのライブラリです。 |
rubygems/config_file | 設定ファイルに書かれている gem コマンドのオプションを オブジェクトに保存するためのライブラリです。 |
rubygems/custom_require | Kernel#require を再定義するためのライブラリです。 |
rubygems/dependency_installer | ある Gem が依存している Gem を同時にインストールするためのライブラリです。 |
rubygems/dependency_list | |
rubygems/digest/digest_adapter | Ruby 1.8.5 と 1.8.6 の間に存在する API の差異を吸収するためのライブラリです。 |
rubygems/digest/md5 | Digest::MD5 をラップするためのライブラリです。 |
rubygems/digest/sha1 | Digest::SHA1 をラップするためのライブラリです。 |
rubygems/doc_manager | Gem パッケージの RDoc, RI を生成するためのクラスを扱うライブラリです。 |
rubygems/ext | 拡張ライブラリをビルドするためのライブラリです。 |
rubygems/ext/builder | 拡張ライブラリをビルドするためのクラスを扱うライブラリです。 |
rubygems/ext/configure_builder | configure スクリプトを元に拡張ライブラリをビルドするクラスを扱うライブラリです。 |
rubygems/ext/ext_conf_builder | extconf.rb を元にして拡張ライブラリをビルドするためのクラスを扱うライブラリです。 |
rubygems/ext/rake_builder | Rake を使用して拡張ライブラリをビルドするためのクラスを扱うライブラリです。 |
rubygems/format | RubyGems の Gem ファイルの内部構造を扱うためのライブラリです。 |
rubygems/gem_openssl | OpenSSL がインストールされていないシステムがあるかもしれないので、 OpenSSL が使えるかどうかを確認するためのライブラリです。 |
rubygems/gem_runner | gem コマンドを実行するためのライブラリです。 |
rubygems/gem_runner | gem コマンドを実行するためのライブラリです。 |
rubygems/indexer | Gem リポジトリのインデックスを作成するためのクラスを扱うためのライブラリです。 |
rubygems/indexer/abstract_index_builder | Gem のインデックスを構築するための抽象クラスを扱うライブラリです。 |
rubygems/indexer/latest_index_builder | ## # Construct the latest Gem index file. |
rubygems/indexer/marshal_index_builder | Marshal 形式のインデックスを作成するためのライブラリです。 |
rubygems/indexer/master_index_builder | マスターとなる Gem のインデックスファイルを作成するためのライブラリです。 |
rubygems/indexer/quick_index_builder | ## # Construct a quick index file and all of the individual specs to support # incremental loading. |
rubygems/install_update_options | Gem::Command で使用するインストールとアップデートに関するオプションを 扱うためのモジュールを定義したライブラリです。 |
rubygems/installer | RubyGems の Gem をインストールするためのライブラリです。 |
rubygems/local_remote_options | Gem::Command で使用する --local, --remote オプションのためのモジュールを 定義したライブラリです。 |
rubygems/old_format | RubyGems の Gem ファイルの内部構造を扱うためのライブラリです。 |
rubygems/package | このライブラリは Gem パッケージを扱うためのライブラリです。 |
rubygems/package/f_sync_dir | |
rubygems/package/tar_header | |
rubygems/package/tar_input | |
rubygems/package/tar_output | |
rubygems/package/tar_reader | |
rubygems/package/tar_reader/entry | |
rubygems/package/tar_writer | |
rubygems/require_paths_builder | |
rubygems/security | このライブラリは暗号署名を RubyGems パッケージに使用するために使用します。 |
rubygems/server | Gem パッケージを配布したり Gem パッケージに同梱されているドキュメントを参照するための 簡易ウェブサーバを動かすためのライブラリです。 |
rubygems/test_utilities | テストで使用するクラスやメソッドを定義しています。 |
rubygems/timer | このライブラリは、ログ取得のために $log というグローバル変数を定義します。 |
rubygems/uninstaller | Gem のアンインストールを行うためのライブラリです。 |
rubygems/validator | 様々な Gem ファイルや Gem データベースを懸賞するためのライブラリです。 |
rubygems/version_option | Gem::Command の --version, --platform オプションのためのモジュールを 定義したライブラリです。 |