Windows 上の Ruby 2.0 での sqlite3 の利用
最近は仕事が忙しすぎて、 mruby もブログも触る暇がないですが、久しぶりの備忘録です。
いくつか mruby などでリクエストをいただいていますが、なかなか対応できていなくて、本当にすみません。
MinGW 版 32bit Ruby 2.0 での sqlite3 の利用
2013年5月27日時点では、 sqlite3 の Windows 用 gem (version 1.3.7) には Ruby 2.0 向けのバイナリが入っていないようです。
そのため、 MinGW 版の 32bit Ruby 2.0 で Rails を使おうとすると、以下のようなエラーが出るようです。
私は RubyInstaller の 32bit 版を使わせていただいていますが、それに向けた sqlite3 のバイナリを置いておきます。
あくまで MinGW 版の 32bit Ruby 2.0 でしか確認していません。
準備とバイナリのダウンロード
下記のコマンドで、 sqlite3 をインストールしておきます。
このコマンドにより、 Ruby が C:/ruby
にインストールされている場合は、 C:/ruby/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7-x86-mingw32
に gem がインストールされると思います。
続いて、 C:/ruby/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7-x86-mingw32/lib/sqlite3
の下に 2.0
ディレクトリを作成します。
おそらく 1.8
, 1.9
というディレクトリは既にあるので、同列に 2.0
ディレクトリを作成します。
あらかじめ作成済みの sqlite3_native.so をダウンロードし、この 2.0
ディレクトリの下に置きます。
後は、普通に使えば大丈夫です。
以下に、作り方などの詳細を書いておきます。
Ruby 2.0 での sqlite3
Ruby から sqlite3 を使うには、 rubygems の sqlite3 を使うのが手軽です。
特に、 Ruby on Rails などでは、デフォルトでこの gem を使うようになっています。
しかし、 2013年5月27日時点では、 sqlite3 の Windows 用 gem には Ruby 2.0 向けのバイナリが入っていないようです。
ここでは、 Windows 上の 32bit 版 Ruby 2.0 で sqlite3 gem を使う方法について、書いておきます。
ただし、いずれは gem 側で解消されるだろうと思いますし、この方法はあくまで単なるパッチです。
Windows 上での Ruby 2.0 での sqlite3 gem の準備
いくつか方法はありますが、私は RubyInstaller を使わせていただいています。
Ruby や DevKit のダウンロードと展開
- Ruby 2.0 のダウンロード
- RubyInstaller のダウンロードページから、 Ruby 2.0.0-p*** をダウンロードし、好きなところに展開します。
ここでは、C:/ruby
と仮定します。 - DevKit のダウンロード
- RubyInstaller のダウンロードページから、 DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe をダウンロードし、好きなところに展開します。
ここでは、C:/devkit
と仮定します。 - パスなどの初期設定
- コマンドプロンプトを開き、以下のように ruby.exe へのパスを通しておきます。
また、続けて DevKit にもパスを通しておきます。
C:\devkit
に移動し、以下のコマンドを実行します。 続いて、 DevKit の初期設定をしておきます。下記のようなconfig.yml
を作成します。 以下のコマンドを実行し、 DevKit の初期設定をします。
sqlite3 のダウンロードと展開
SQLite3 のソースコードをダウンロードページからダウンロードしておきます。
Source Code の欄にある sqlite-amalgamation-***.zip
がビルドしやすくて便利です。
これを C:\sqlite3
などに展開し、このディレクトリに移動し、以下のコマンドで libsqlite3.a
を作成します。
gem のインストール
以下のコマンドで、 sqlite3 gem をインストールします。
0 件のコメント:
コメントを投稿