Ruby でデータベースをいじるときはもっぱら DataMapper + SQLite なのですが、
さくらのVPS(Debian)上に DataMapper をインストールするときに全力でこけたのでメモ。
最終的に解決はしたものの、意外と手間がかかった。
原因はどうやら apt-get でインストールした SQLite3 のバージョンが、sqlite3-ruby の求めるものより低かったからのようです。
sqlite3-ruby のインストールのときに、
$ gem install sqlite3-ruby checking sqlite3.h no 〜
とか
$ gem install sqlite3-ruby (略)sqlite3-ruby only supports sqlite3 versions 3.6.16+, please upgrade!
とか出てきました。
前者は SQLite 自体がインストールできてなくてエラー、後者がバージョン足りてねーってエラーです(たぶん)。
現在の環境はこんな感じ。
サーバー | さくらのVPS |
OS | Debian Lenny (5.0.6) |
Ruby バージョン | 1.9.2 |
まずは SQLite3 のインストール。
ソースからインストールします(前述の通り apt-get だとバージョンが低い)。
ダウンロードページはここ。
sqlite-autoconf-NNNNNNN(ビルド番号っぽいもの).tar.gz をダウンロードする(ここでは 3070400 )。
$ mkdir ~/src $ wget http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz $ tar zxvf sqlite-autoconf-3070400.tar.gz $ cd sqlite-autoconf-3070400 $ ./configure $ make $ sudo make install
これでOK 。
次に DataMapper のインストール。
$ gem install sqlite3-ruby $ gem install dm-core $ gem install dm-sqlite-adapter
これで完了。