rootじゃなくてもgRubyを使いたい

上級者さん、せっかちさんは簡易版をどうぞ。

gRubyとは

gRuby(ぐるびー)とはGD*1というネイティブライブラリのRuby用インタフェースRuby/GDのラッパーライブラリです。

Ruby/GDを簡単に扱えるようにしてくれている有り難いライブラリなのです。

では、これからLinux環境のもとインストール作業です。

Ruby/GDをインストールする

gRubyを使うために、根っこになるRuby/GDをコンパイルしてインストールします。

Ruby/GDを入手する

まずはRuby/GDをダウンロードしてきます。

本家はRAA - ruby-gdなのですが、なぜかソースコードがリンク切れなので、

ここ→http://raa.ruby-lang.org/cache/ruby-gd/からダウンロードしてきます。

ちなみに、ダウンロードしてきたreadme.jaというファイルに記載されている最新バージョンの入手先URLもリンク切れでした。


では解凍します。

% tar zxvf ruby-GD-0.7.4-1.tar.gz

これでruby-GD-0.7.4というディレクトリが完成です。

Ruby/GDをコンパイル

ではネイティブライブラリを作成します。

% cd ruby-GD-0.7.4
% ruby extconf.rb [options...]
% make
# make install

という風にdoc/INSTALL.jaに書いています。

今回はroot権限が無い状態でgRubyをインストールすることが目標なので、少し変更します。

% cd ruby-GD-0.7.4
% ruby extconf.rb --with-ttf --with-freetype --with-jpeg --enable-gd2_0
% make

オプションはgRubyがサポートする機能を余すとこなく利用できるようにするモノです。

これで「GD.so」というダイナミックライブラリが出来ているはずです。

Ruby/GDをインストール

doc/INSTALL.ja通りに「make install」すると「/usr/local/lib/ruby/site_ruby/1.8/」等にコピーされるのですが、

それにはroot権限が必要です。

root権限が無ければここで諦めなければならない所ですが、諦めません。


ではどうするか、

答えは簡単。ローカルにライブラリを用意すれば良いのです。

今回は「/home/adamrocker/lib/ruby」にしましょう。

このディレクトリはどこでもOKです。最後にライブラリパスを通しますので。


では、あらためてインストール。

% cp GD.so /home/adamrocker/lib/ruby


そしてRubyのライブラリパスを通します。

「~/.bashrc」とか「~/.cshrc」などのログインシェルの設定ファイルに環境変数を定義します。


「~/.bashrc」なら

export RUBYLIB=/home/adamrocker/lib/ruby


「~/.cshrc」なら

setenv RUBYLIB=/home/adamrocker/lib/ruby


設定を反映させます。

「~/.bashrc」なら

% source ~/.bashrc


「~/.cshrc」なら

% source ~/.cshrc

これでRuby/GDのインストール完了。

gRubyをインストールする

Ruby/GDのインストールが完了したところで、ようやくgRubyをインストールしましょう。

こちらは凄く簡単です。

gRubyを入手する

まずはgRubyを入手してきます。

gRuby Project


そして、解凍・展開です。

% tar zxvf gruby-0.0.1.tar.gz

これでgruby-0.0.1というディレクトリが作られます。

gRubyをインストール

README.ja.rdの通りだとこうなります。

% ruby setup.rb config
% ruby setup.rb setup
# ruby setup.rb install

またもやroot権限を要する「#」が出てきました。


しつこいようですがroot権限を持ってません。

なので、少しオプションを加えます。

% ruby setup.rb config --prefix=/home/adamrocker/lib/ruby
% ruby setup.rb setup
% ruby setup.rb install

Linuxのインストール作業ではおなじみの「--prefix」です。


インストールディレクトリを指定できますので、ローカルのライブラリディレクトリを指定しています。

これで「/home/adamrocker/lib/ruby/lib/ruby/site_ruby/1.8/grb」なんていう長ったらしいディレクトリが出来上がってます。

こんなに深くなくて良いので、とりあえずコピーしちゃいます。

% mv /home/adamrocker/lib/ruby/lib/ruby/site_ruby/1.8/grb /home/adamrocker/lib/ruby

これにてgRubyのインストール作業は終わりです。


確認のため、gRubyに付いてくる「example/font.rb」などを実行してみて下さい。

% ruby font.rb

「font.png」が出来ていれば成功です。


それではサヨナラ。

超簡易版gRubyインストール方法

コンパイル、インストールなんて説明イラネ。って人用。

Ruby/GD

入手

http://raa.ruby-lang.org/cache/ruby-gd/

コンパイル & インストール

% tar zxvf ruby-GD-0.7.4-1.tar.gz
% cd ruby-GD-0.7.4-1
% ruby extconf.rb --with-ttf --with-freetype --with-jpeg --enable-gd2_0
% make
% cp GD.so ${HOME}/lib/ruby

Rubyライブラリパス

export RUBYLIB=${HOME}/lib/ruby

or

setenv RUBYLIB=${HOME}/lib/ruby
gRuby

入手

http://gruby.sourceforge.jp/

コンパイル & インストール

% tar zxvf gruby-0.0.1.tar.gz
% cd gruby-0.0.1
% ruby setup.rb config --prefix=/home/adamrocker/lib/ruby
% ruby setup.rb setup
% ruby setup.rb install

Rubyライブラリパス

export RUBYLIB=${RUBYLIB}:${HOME}/lib/ruby/lib/ruby/site_ruby/1.8

or

setenv RUBYLIB=${RUBYLIB}:${HOME}/lib/ruby/lib/ruby/site_ruby/1.8

超簡単インストールのグラフィックライブラリ「PureImage」

GDはネイティブライブラリなので、コンパイルが必要なのでインストールに少し手間がかかります。


そもそも、Rubyは楽しいプログラミングライフを提供してくれているのに、インストールに時間を食われるのはストレスだ!

もっと気軽に使いたいね!って人がPure Rubyで画像生成ライブラリ「PureImage」を作ってくれています。

こちらはインストール作業がコピーだけというステキな仕様です。


制作者自信が公開していることですが、現状いくつか問題点があります。

  • ドキュメント不足
  • 動作が重い(ToDo: パフォーマンスチューニング)
  • フォントを自分で作る必要がある(Javaで作る)

この問題点が問題と感じない人は是非PureImageを使ってみて下さい。僕も使ってみましたが凄い簡単に使えて楽しいです。

*1:GDとはグラフィック生成ライブラリです。本家 - http://www.boutell.com/gd/