2009年11月17日

sqlite3-rubyをrubygemsでインストールする

なんだか良く分からずにハマったのでメモを残す。

CentOS公式のRuby/Rubygemsはバージョンが古いので、sqlite3-rubyは依存解決に失敗してハネられてしまう。かといって、公式からtarを落としてきてビルドすると、yumでインストールされたものとケンカしてしまう。checkinstallツールを使うとtarをrpmに変換できるので、パッケージ管理ツールの機嫌を損ねずにrubyをアップデートできる。rubyを1.8.7、gemも最新のものにして、ようやくsqlite3-rubyが入れられると思ったのだが・・・。

教科書どおりの手順でrubygemsからインストールを試みる。

$ sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
Successfully installed sqlite3-ruby-1.2.5
1 gem installed
Installing ri documentation for sqlite3-ruby-1.2.5...

No definition for _wrap_new_CallbackData
以後数十行にわたり省略
No definition for _wrap_sqlite3_aggregate_context

実行すると山のような警告メッセージが出た。もうダメかと思ったが、どうやらdocsのインストールに不備が出ただけで、実行ファイルはインストールされているらしい。テストプログラムを書いて実行してみたところ、確かに動いた。

テストプログラムを実行するときの注意点としては、rubygemsでインストールしたパッケージを使うときにはrequire rubygemsを必ず最初に宣言すること。これをやらないと、load errorが発生して「インストール失敗?」と頭を抱えることになる。

require rubygemsの効果を実感したいならば、irbインタプリタを立ち上げて以下のコマンドを打ち込むと一目瞭然である。

irb > p $LOAD_PATH
irb > require 'rubygems'
irb > p $LOAD_PATH
posted by yuji_at_radiance at 22:36| Comment(0) | TrackBack(0) | ソフトウェア | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。