はじめに
SQLite3 使ってますかー! 便利ですよね。
何の因果か Windows でも sqlite3-ruby を使う必要が生じ、何故だか苦労したので、メモを残します。
問題点
ググると色々と見つかりますが Windows で sqlite3-ruby を使う場合は幾つか問題にぶつかります。
- sqlite3-ruby は native extension が必須
- 1.4.0 は dlopen() に依存している
- 1.3.13 はデフォルトの bundle install だと native extension がビルドされない
対策
1.4.0 ⇒ dlopen をインストールする
RubyInstaller2 環境であれば下記でインストールされます。
(32bit)
C:\Users\JohnDoe> ridk exec pacman -S mingw-w64-i686-dlfcn
(64bit)
C:\Users\JohnDoe> ridk exec pacman -S mingw-w64-x86_64-dlfcn
どっちも mingw-w64 なんす。
1.3.13 ⇒ bundle を config する
参照:bundler docs
C:\Users\JohnDoe> bundle config force_ruby_platform true
要するに gem install --platform=ruby
と同じです。けど bundle install
を使いたいですよねぇ。
所感
64bit 環境で RAM が潤沢なら、仮想環境で Linux 使うようにした方が幸せになれる気がします。
否、32bit 環境で RAM が貧弱だったので、不幸になったんですね。。。