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

この文書ではエンドユーザが setup.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

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

-v,--version

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

--copyright

setup.rb の著作権を表示

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

config

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

show

現在の設定を表示する

setup

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

install

インストールを行う。

clean

setup で作成したものを消す

distclean

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 setup.rb --help で見られます。

またマルチパッケージアーカイブではこれに加えて以下のオプションも使えます。

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

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

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

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

また「--」(マイナス二つ)に続けてオプションを指定することで extconf.rb に引数を渡すことができます。

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

install のタスクオプション

--no-harm

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

--prefix=PATH

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