<code>install.rb / setup.rb</code> を使ったプログラムのインストール

# `install.rb / setup.rb` を使ったプログラムのインストール

まず、エンドユーザが `install.rb / setup.rb` を使って パッケージをインストールする過程を説明します。

以下の実行例では `setup.rb` を使いますが、`install.rb` も 使い方はまったく同じなので適宜読みかえてください。

## 最短の場合

通常は次の三行で十分です。 （`#` の行ではおそらくスーパーユーザ権限が必要でしょう）

>     $ ruby setup.rb config
>     $ ruby setup.rb setup
>     # ruby setup.rb install

`config` は設定の変更、`setup` がコンパイル、`install` で 実際のインストールを行います。

## 詳しい解説

以下、もう少し詳細に説明します。`setup.rb` にはグローバル オプションとコマンド、そしてコマンド専用のオプションが あります。組みあわせとしては以下のようになります。

>     ruby setup.rb グローバルオプション
>     ruby setup.rb コマンド
>     ruby setup.rb コマンド コマンドオプション

`CVS` を知っている人は `cvs` コマンドに似たようなものだと 思ってください。まずグローバルオプションとしては次の 三種類が使えます。

`-q,--quiet`

  メッセージ出力を最小限にする

`--verbose`

  実行中の状況を詳細に表示する (デフォルトはオン)

`-h,--help`

  `install.rb / setup.rb` の使いかたなどを表示

`-v,--version`

  `install.rb / setup.rb` のバージョンを表示

`--copyright`

  `install.rb / setup.rb` の著作権を表示

  コマンドは以下の五つです。

`config`

  設定をチェックしたうえで保存する

`show`

  現在の設定を表示する

`setup`

  コンパイルなど、ファイル内容の変更を行うもの

`install`

  実際のインストール

`clean`

  `setup` で作成したものを消す

  続いて順次コマンドのオプションを解説します。

### `config` のタスクオプション

`--prefix=PATH`

  --`rb-dir --so-dir` などの共通部分

`--std-ruby=PATH`

  Ruby 標準ライブラリをインストールするディレクトリ

`--site-ruby-common=PATH`

  バージョンに依存しない、非標準の Ruby ライブラリを インストールするディレクトリ `(site_ruby)`

`--site-ruby=PATH`

  バージョンつき `site_ruby` へのパス

`--bin-dir=PATH`

  実行可能ファイル（コマンド）をインストールするパス

`--rb-dir=PATH`

  Ruby ライブラリをインストールするパス

`--so-dir=PATH`

  Ruby の拡張モジュールをインストールするパス

`--data-dir=PATH`

  その他のデータファイルをインストールするパス

`--ruby-path=PATH`

  `#!` 行 `(shebang)` にセットする Ruby インタプリタのパス。 (実行するときに使う `ruby` プログラムへのパス)

`--ruby-prog=PATH`

  インストールに使う `ruby` プログラムへのパス

`--make-prog=NAME`

  拡張モジュールのコンパイルに使用する `make` プログラム

`--without-ext`

  拡張モジュールのコンパイル・インストールを無条件に スキップする。ただし当然ながら、インストールされる プログラム自体が拡張モジュールなしで動くようになって いなければ意味がありません。

`--rbconfig=PATH`

  デフォルト値の設定に使う `rbconfig.rb`

  値を取るオプションはすべて --`opt=value` の形で指定します。 「=」のまわりに空白を入れてはいけません。各オプションの デフォルト値は `ruby install.rb --help` で見られます。

  また `setup.rb` ではこれに加えて以下のオプションも使えます。

`--with=NAME,NAME,NAME...`

  インストールするパッケージ

`--without=NAME,NAME,NAME...`

  インストールしないパッケージ

  また `install.rb / setup.rb` のどちらでも、次のように 「--」（マイナス二つ）に続けてオプションを指定することで `extconf.rb` に引数を渡すことができます。

  >     ruby install.rb config -- --with-tklib=/usr/lib/libtk-ja.so.8.0

### `install` のタスクオプション

`--no-harm`

  挙動を表示するだけで実行しません。

`--prefix=PATH`

  `config` で決定したパスの先頭にさらに `PATH` を付加します。 `config --prefix` がプログラムが実行されるときのパスであるのに 対し、`install --prefix` はプログラムファイルをコピーするパスを 指定します。主に `RPM` などのバイナリパッケージ作成用です。 デフォルトは空文字列です。

### 他のコマンドのオプション

`config install` 以外のコマンドにはオプションはありません。 なにか渡すとすべてエラーになります。