class Gem::Installer

要約

Gem::Installer は Gem を展開し、 Gem に含まれていたファイルをファイルシステム上の正しい位置に配置します。

また、gemspec を specifications ディレクトリに、キャッシュを cache ディレクトリに、実行ファイルやシンボリックリンクなどを bin ディレクトリに配置します。

目次

特異メソッド
インスタンスメソッド

継承しているメソッド

Gem::UserInteractionから継承しているメソッド
Gem::DefaultUserInteractionから継承しているメソッド
Gem::RequirePathsBuilderから継承しているメソッド

特異メソッド

exec_format -> String[permalink][rdoc]

実行ファイル名のフォーマットを返します。

指定しない場合は ruby コマンドと同じフォーマットを使用します。

exec_format=(format)[permalink][rdoc]

実行ファイル名のフォーマットをセットします。

[PARAM] format:
実行ファイル名のフォーマットを指定します。
home_install_warning -> bool[permalink][rdoc]

この値が真の場合、ホームディレクトリに Gem をインストールしようとすると警告を表示します。

home_install_warning=(flag)[permalink][rdoc]

ホームディレクトリに Gem をインストールしようとすると警告を表示するかどうかセットします。

[PARAM] flag:
真を指定するとホームディレクトリに Gem をインストールしようとすると警告を表示するようになります。
new(gem, options = {}) -> Gem::Installer[permalink][rdoc]

[TODO] 書いてないオプションがいっぱいある

与えられた引数で自身を初期化します。

[PARAM] gem:
インストール対象の Gem のパスを指定します。
[PARAM] options:
インストーラが使用するオプションをハッシュで指定します。使用できるキーは以下の通りです。
:env_shebang

コマンドのラッパーで shebang line に /usr/bin/env を使用します。

:force

署名された Gem のみをインストールするというポリシー以外、全てのバージョンチェックとセキュリティポリシーのチェックを行わないようにします。

:ignore_dependencies

依存関係を満たしていない場合でも例外を発生させません。

:install_dir

Gem をインストールするディレクトリを指定します。

:format_executable

実行ファイルの名前を ruby と同じフォーマットにするかどうか指定します。インストールされている ruby が ruby19 という名前の場合、foo_exec という名前の実行ファイルは foo_exec19 という名前でインストールされます。

:security_policy

特定のセキュリティポリシーを使用します。詳細は Gem::Security を参照してください。

:wrappers

この値が真の場合は、ラッパーをインストールします。偽の場合は、シンボリックリンクを作成します。

:user_install

この値が false の場合は、ユーザのホームディレクトリに Gem をインストールしません。この値が nil の場合は、ユーザのホームディレクトリに Gem をインストールしますが、警告が表示されます。

[EXCEPTION] Gem::InstallError:
Gem のフォーマットが不正である場合に発生します。
[EXCEPTION] Gem::FilePermissionError:
書き込み先のディレクトリに書き込み権限がない場合に発生します。
path_warning -> bool[permalink][rdoc]

この値が 真の場合は Gem.bindir が PATH に含まれていない場合に警告を表示します。

path_warning=(flag)[permalink][rdoc]

Gem.bindir が PATH に含まれていない場合に警告を表示するかどうかセットします。

[PARAM] flag:
真を指定すると、Gem.bindir が PATH に含まれていない場合に警告を表示するようになります。

インスタンスメソッド

app_script_text -> String[permalink][rdoc]

アプリケーションのための実行ファイルの雛形のテキストを返します。

bin_dir -> String[permalink][rdoc]

実行ファイルをインストールするディレクトリを返します。

build_extensions[permalink][rdoc]

拡張ライブラリをビルドします。

拡張ライブラリをビルドするためのファイルタイプとして有効であるのは、 extconf.rb, configure script, Rakefile, mkmf_files です。

ensure_dependency(spec, dependency) -> true[permalink][rdoc]

インストールしようとしている Gem が依存関係を満たしている事を確認します。

依存関係を満たしていない場合は、例外 Gem::InstallError が発生します。

[PARAM] spec:
Gem::Specification のインスタンスを指定します。
[PARAM] dependency:
Gem::Dependency のインスタンスを指定します。
[EXCEPTION] Gem::InstallError:
依存関係を満たしていない場合に発生します。
extract_files[permalink][rdoc]

ファイルのインデックスを読み取って、それぞれのファイルを Gem のディレクトリに展開します。

また、ファイルを Gem ディレクトリにインストールしないようにします。

[EXCEPTION] ArgumentError:
自身に Gem::Format がセットされていない場合に発生します。
[EXCEPTION] Gem::InstallError:
インストール先のパスが不正な場合に発生します。
formatted_program_filename(filename) -> String[permalink][rdoc]

Ruby のコマンドと同じプレフィックスとサフィックスを付けたファイル名を返します。

[PARAM] filename:
実行ファイルのファイル名を指定します。
gem_home -> String[permalink][rdoc]

Gem のインストール先を返します。

generate_bin[permalink][rdoc]

Gem でインストールされる実行ファイルを作成します。

[EXCEPTION] Gem::FilePermissionError:
インストール先に書込み出来ない場合に発生します。
generate_bin_script(filename, bindir)[permalink][rdoc]

Gem に入っているアプリケーションを実行するためのスクリプトを作成します。

[PARAM] filename:
ファイル名を指定します。
[PARAM] bindir:
実行ファイルを配置するディレクトリを指定します。

Gem に入っているアプリケーションを実行するためのシンボリックリンクを作成します。

現在インストールされている Gem よりも新しい Gem をインストールするときは、シンボリックリンクを更新します。

[PARAM] filename:
ファイル名を指定します。
[PARAM] bindir:
実行ファイルを配置するディレクトリを指定します。
generate_windows_script(filename, bindir)[permalink][rdoc]

コマンドの実行を容易にするために Windows 向けのバッチファイルを作成します。

[PARAM] bindir:
実行ファイルを配置するディレクトリを指定します。
[PARAM] filename:
ファイル名を指定します。
install -> Gem::Specification[permalink][rdoc]

Gem をインストールします。

以下のディレクトリ構造で Gem をインストールします。

@gem_home/
  cache/<gem-version>.gem              #=> インストールした Gem のコピー
  gems/<gem-version>/...               #=> インストール時に展開したファイル
  specifications/<gem-version>.gemspec #=> gemspec ファイル
[RETURN]
ロードされた Gem::Specification のインスタンスを返します。
[EXCEPTION] Gem::InstallError:
要求された Ruby のバージョンを満たしていない場合に発生します。
[EXCEPTION] Gem::InstallError:
要求された RubyGems のバージョンを満たしていない場合に発生します。
[EXCEPTION] Gem::InstallError:
Zlib::GzipFile::Error が発生した場合に発生します。
installation_satisfies_dependency?(dependency) -> bool[permalink][rdoc]

登録されているソースインデックスが与えられた依存関係を満たすことができる場合は、真を返します。そうでない場合は偽を返します。

[PARAM] dependency:
Gem::Dependency のインスタンスを指定します。
shebang(bin_file_name) -> String[permalink][rdoc]

実行ファイル内で使用する shebang line (#! line) を表す文字列を返します。

[PARAM] bin_file_name:
実行ファイルの名前を指定します。
spec -> Gem::Specification[permalink][rdoc]

インストールしようとしている Gem に対応する Gem::Specification のインスタンスを返します。

unpack(directory)[permalink][rdoc]

与えられたディレクトリに Gem を展開します。

[PARAM] directory:
Gem を展開するディレクトリを指定します。
windows_stub_script -> String[permalink][rdoc]

コマンドを起動するために使用する Windows 用のバッチファイルの内容を文字列として返します。

write_spec[permalink][rdoc]

Ruby スクリプト形式で .gemspec ファイルを作成します。