foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

Ruby の SQLite ドライバをインストールする

Linux と同じようにインストールしようとするとエラーになる。

$ gem install sqlite3-ruby
ERROR:  Error installing sqlite3-ruby:
        ERROR: Failed to build gem native extension.

c:/core/bin/ruby/bin/ruby.exe extconf.rb install --remote sqlite3-ruby
checking for fdatasync() in rt.lib... no
checking for sqlite3.h... no

nmake
'nmake' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。


Gem files will remain installed in c:/core/bin/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4 for inspection.

Results logged to c:/core/bin/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_api/gem_make.out
Building native extensions.  This could take a while...

RubyForge(http://rubyforge.org/) で *-mswin32.gem のあるバージョンを明示すればインストールできる。

$ gem install sqlite3-ruby -v=1.2.3
Successfully installed sqlite3-ruby-1.2.3-x86-mswin32
1 gem installed
Installing ri documentation for sqlite3-ruby-1.2.3-x86-mswin32...
Installing RDoc documentation for sqlite3-ruby-1.2.3-x86-mswin32...

なお、WindowsSQLite を使うには別途 sqlite3.dll が必要となる。
sqlite3.dll のインストール方法は別途記述する。

注意

RubyMySQL 用アダプタには、

がある。
Rails 2.0 移行では sqlite3-ruby を使わないとマイグレーションでエラーが発生するらしいので注意。
特に sqlite-ruby はすんなりインストールできるが、sqlite3-ruby は下記のようにエラーになる場合があるので、簡単に入るからといって sqlite-ruby を使わないように。