この文書ではエンドユーザが setup.rb を使って パッケージをインストールする方法を説明します。
通常は次のように打つだけで十分です。 (UNIX 系 OS ではおそらくスーパーユーザ権限が必要です)
($ su) # ruby setup.rb
自分のホームディレクトリ以下にインストールしたいときは 次のようにしてください。
$ ruby setup.rb all --prefix=$HOME
以下、もう少し詳細に説明します。
setup.rb ではインストールのプロセスが「config」「setup」「install」 の三つの段階に分かれています。setup.rb を引数なしで実行すると config setup install を一気に実行してしまうのですが、次のように すると三つに分けて実行できます。
$ ruby setup.rb config $ ruby setup.rb setup # ruby setup.rb install
そして各段階にオプションを付けるとインストール先などを細かく制御 することができます。例えば config に「--bin-dir=$HOME/bin」オプ ションを付けるとコマンドが $HOME/bin にインストールされます。
詳しくは「タスクオプション」の節を見てください。
グローバルオプションとは、タスク (config や setup) に関らず 指定できるオプションのことです。必ずタスクの前に指定してください。
メッセージ出力を最小限にする
実行中の状況を詳細に表示する (デフォルトはオン)
setup.rb の使いかたなどを表示
setup.rb のバージョンを表示
setup.rb の著作権を表示
タスクは以下の七つです。
config, setup, install を一気に行う。 タスクオプションは config と共通。
設定をチェックしたうえで保存する
現在の設定を表示する
コンパイルなど、ファイル内容の変更を行うもの
インストールを行う。
テストを実行する。
setup で作成したものを消す
setup で作成したものを消す (より強力)
config タスクで使えるオプションを説明します。
値を取るオプションはすべて --opt=value の形で指定します。 「=」のまわりに空白を入れてはいけません。各オプションの デフォルト値は ruby setup.rb --help で見られます。
すべてのオプションで、値に別の変数を使うことができます。 例えば Ruby ライブラリを site_ruby にインストール したければ、--rbdir=$siterubyver と指定できます。 UNIX シェルでは「$」をエスケープして --rbdir=\$siterubyver としてください。
よく使われるインストール先ディレクトリを まとめてセットするオプション。
std: $libruby 以下にインストールする。
site: $siteruby 以下にインストールする。
home: ホームディレクトリ下にインストールする。
$bindir, $libdir などの共通部分
実行可能ファイル(コマンド)をインストールするディレクトリ。
Ruby ライブラリをインストールするディレクトリ。
Ruby の拡張モジュールをインストールするディレクトリ。
その他のデータファイルをインストールするディレクトリ。
設定ファイルをインストールするディレクトリ。
man ページをインストールするディレクトリ。
Ruby ライブラリをインストールするディレクトリ
Ruby の標準添付ライブラリがインストールされるディレクトリ
Ruby の標準添付拡張ライブラリがインストールされるディレクトリ
Ruby のバージョンに依存しない、非標準の Ruby ライブラリが インストールされるディレクトリ (site_ruby)
Ruby のバージョンに依存する、非標準の Ruby ライブラリが インストールされるディレクトリ (バージョンつき site_ruby)。
非標準の Ruby 拡張ライブラリがインストールされるディレクトリ (バージョン・アーキテクチャ名つき site_ruby)。
shebang 行 (#!) にセットする Ruby インタプリタのパス。 つまり、インストールしたプログラムを実行するときに この ruby が使われます。
shebang 行 (#!) の書き換えモードです。
all: すべてのファイルの shenbang 行を書き換えもしくは追加する。
ruby: ruby を起動していると思われる shebang 行だけを書き換える。
never: いっさい shebang 行を書き換えない。
インストール時に使う ruby プログラムへのパス。
拡張ライブラリのコンパイルに使用する make プログラム。
拡張モジュールのコンパイル・インストールを無条件に スキップする。ただし当然ながら、インストールされる プログラム自体が拡張モジュールなしで動くようになって いなければ意味がありません。
デフォルト値の設定に使う rbconfig.rb
またマルチパッケージアーカイブではこれに加えて以下のオプションも使えます。
インストールするパッケージ
インストールしないパッケージ
さらに、「--」(マイナス二つ)に続けてオプションを指定することで extconf.rb に引数を渡すことができます。
ruby setup.rb config -- --with-tklib=/usr/lib/libtk-ja.so.8.0
挙動を表示するだけで実行しません。
config で決定したパスの先頭にさらに PATH を付加します。 config --prefix がプログラムが実行されるときのパスであるのに 対し、install --prefix はプログラムファイルをコピーするパスを 指定します。主に RPM などのバイナリパッケージ作成用です。 デフォルトは空文字列です。