本書では、Ruby/DBIを使ってデータベースにアクセスする。Ruby/DBIは、内部で、DBMSごとの拡張モジュールを利用するようになっている。そのため、(1) DBMSそのもの、(2) 拡張モジュール、(3) Ruby/DBIという順にインストールしなければならない。
SQLiteの場合は、Ruby/DBIに拡張モジュールが同梱されているため、別途拡張モジュールを用意する必要はない。
(2005.5.4 リンク先を更新。)
アーカイブを入手し、解凍する。
SQLite: An Embeddable SQL Database Engine
$ tar xzvf sqlite-2.8.6.tar.gz $ mv sqlite sqlite-2.8.6 $ cd sqlite-2.8.6
コンパイル、インストールする。
$ ./configure $ make $ su # make install
ライブラリlibsqlite.soをシステムで使えるようにする。
# ldconfig
Ruby用のPostgreSQLモジュールは、次のところから入手する。
$ tar xzvf ruby-postgres-0.7.1.tar.gz $ cd ruby-postgres-0.7.1
PostgreSQLのインストール先は、--with-pgsql-dirオプションで指定する。
$ ruby extconf.rb --with-pgsql-dir=/usr/local/pgsql $ make $ su # make install
アーカイブをダウンロードし、解凍する。Cで書かれたモジュール (MySQL/Ruby) とRubyだけで書かれたモジュール (Ruby/MySQL) があるが、今のところ前者のほうがいいだろう。
$ tar xzvf mysql-ruby-2.4.3c.tar.gz $ cd mysql-ruby-2.4.3c
Makefileを生成する。MySQLのインストールされているディレクトリを--with-mysql-dirオプションで指定する。
$ ruby extconf.rb --with-mysql-dir=/usr/local/mysql
コンパイル、インストールする。
$ make $ su # make install
アーカイブを入手し、解凍する。
$ tar xzvf ruby-dbi-all-0.0.21.tar.gz $ mv ruby-dbi-all ruby-dbi-all-0.0.21 $ cd ruby-dbi-all-0.0.21
環境に合わせて設定、コンパイルする。SQLiteを使う場合はsetup.rb setupによる拡張モジュールのコンパイルが欠かせない。そうでない場合は、この行は不要。
$ ruby setup.rb config --without=dbd_sybase $ ruby setup.rb setup
インストールする。
$ su # ruby setup.rb install
![]() | Note.
SQLiteを使う場合でDBI.connect()がエラーとなるときは、libsqlite.soのロードに失敗しているかもしれない。 lddコマンドで確認する。次の例は、libsqlite.soのロードに失敗しているもの。
$ ldd /usr/local/lib/ruby/site_ruby/1.8/i586-linux/DBD/SQLite/SQLite.so
libruby.so.1.8 => /usr/local/lib/libruby.so.1.8 (0x40015000)
libsqlite.so.0 => not found
libdl.so.2 => /lib/libdl.so.2 (0x400cb000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x400ce000)
libm.so.6 => /lib/libm.so.6 (0x400fb000)
libc.so.6 => /lib/libc.so.6 (0x4011c000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
not foundの行がある場合は、次のことを確認、実行する。
|
Netsphere Laboratories http://www.nslabs.jp/
[PR]