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_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)

http://jp.rubyist.net/magazine/?0006-PackageManagement

Rubyist Magazine - シリーズ パッケージマネジメント 【第 2 回】 RubyGems (2)

http://jp.rubyist.net/magazine/?0010-PackageManagement

クラスとモジュール

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

Classes

Sublibraries