Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library rubygems
library rubygems
要約
RubyGems を扱うためのクラスやモジュールが定義されているライブラリです。
gem コマンドの使い方
$ 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
Gem パッケージをインストールする
例えば 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/
Gem パッケージをアンインストールする
例えば rak をアンインストールするには、以下のいずれかを実行します。
$ gem uninstall rak $ sudo gem uninstall rak
特定のバージョンの Gem パッケージをアンインストールするには以下のようにします。
$ gem uninstall rak --version 0.8.1
Gem パッケージを更新する
インストールされている Gem パッケージを更新するには以下のようにします。
$ gem update $ sudo gem update
特定の Gem パッケージを更新するには以下のようにします。
$ gem update rak
Gem パッケージを探す
パッケージ名から Gem パッケージを探すことができます。 'active' という文字列をパッケージ名に含むパッケージを探すには以下のようにします。
$ gem search active # デフォルトではローカルにインストールされているものから検索します $ gem search active -r # -r オプションをつけるをリポジトリから検索します $ gem search active -r -a # -a オプションをつけると全てのバージョンを表示します
パッケージの詳細からキーワード検索することはできません。
Gem パッケージを作成する
執筆中
gem コマンドの設定
- GEM_HOME Gem のホームディレクトリ
- GEM_PATH Gem のサーチパス
- $HOME/.gemrc
環境変数 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
参考
- Rubyist Magazine - シリーズ パッケージマネジメント 【第 1 回】 RubyGems (1)
- Rubyist Magazine - シリーズ パッケージマネジメント 【第 2 回】 RubyGems (2)
クラスとモジュール
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 のインストールを実行できるプラットフォームのリストを扱うクラスです。 |
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 です。 |
例外クラス
class Gem::LoadError | Gem をロードできなかった場合に発生するエラーです。 |
同時にrequireされるライブラリ
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 オプションのためのモジュールを 定義したライブラリです。 |
追加・再定義されるメソッド
Kernel#gem(gem_name, *version_requirements) -> bool
[added by rubygems]-
$LOAD_PATH に Ruby Gem を追加します。
指定された Gem をロードする前にその Gem が必要とする Gem をロードします。 バージョン情報を省略した場合は、最も高いバージョンの Gem をロードします。 指定された Gem やその Gem が必要とする Gem が見つからなかった場合は Gem::LoadError が発生します。
バージョンの指定方法に関しては Gem::Version を参照してください。
rubygems ライブラリがライブラリバージョンの衝突を検出しない限り、 gem メソッドは全ての require メソッドよりも前に実行されます。
環境変数 GEM_SKIP
特定の Gem をロードしないようにするために環境変数 GEM_SKIP を定義することができます。 特定の Gem がまだインストールされていないという状況を試すために使用できます。
例:
GEM_SKIP=libA:libB ruby-I../libA -I../libB ./mycode.rb
- [PARAM] gem:
- Gem の名前の文字列か、Gem の依存関係を Gem::Dependency のインスタンスで指定します。
- [PARAM] version_requirements:
- 必要とする gem のバージョンを指定します。
- [RETURN]
- Gem がロードできた場合は true を返します。ロードできなかった場合は false を返します。
- [EXCEPTION] Gem::LoadError:
- 指定された Gem やその Gem が必要とする Gem が見つからなかった場合に発生します。 ただし、環境変数 GEM_SKIP に指定されている Gem に関してはこの例外は発生しません。
[SEE_ALSO] Gem::Version