Windows 環境で sqlite3-ruby のインストールに失敗して分かったこと

Ruby Add comments

自分には Windows 環境で Ruby 開発するスキルがありません。Ubuntu に行こう。うん、あそこならきっとこんな僕でも受け入れてくれるだろう。

「そうだよね、Ubuntu。」

「Yes, Master」

やることいっぱいなのに某MADのおかげで、なのは1シリーズ(13話)を一気に見てしまった。あと2シリーズもあるのか。

本題

以前のRails勉強会@名古屋 で使った環境(Windows/Java6/JRuby1.0.3/NetBeans6.0/MySQL)で、SQLite3 が使いたかったのです。勉強会ではRails2.0を使ったんですが、DBはMySQLを使っていたので、SQLite3のインストールから始めました。

Windows の場合は、「sudo apt-get install sqlite3」なんて使えないので別の方法になります。(省略)DLLを落としてきてPATHを通して終わり。簡単なことなんだけど、うん、なんでもない。

次に sqlite3-ruby を入れるんだけど NetBeansから実行しても、コマンドプロンプトから実行しても、以下のエラーが出てしまいました。

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

調べた結果このエラーは、ruby1.8-dev と libsqlite3-dev という2つのパッケージが存在しないと発生するそうなのですが、Windows に ruby1.8-dev をどうやっていれればいいものか・・・ましてや、libsqlite3-dev の Windows 版が見つからない。ソースからコンパイル?やってもいいけど。

ここまで来て気づいた。なんでこんな苦労しなきゃいけないんだ。

やっぱり得意なことや不得意なこと。好き嫌い。効率が良い悪い。相性が良い悪いがありますからね。

やっぱり Ubuntu で開発環境作ることにします。

====追記

先に言いますが、解決していないのでこの先はそのつもりで読んでください。くそー悔しい。

やっぱり悔しいので色々やってたのですが、Windows がごにょごにょというより、JRuby 1.1RC2 + sqlite3-ruby の問題っぽいですね。

 C:\>jruby -S gem install sqlite3-ruby
JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Building native extensions.  This could take a while…
ERROR:  Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.

C:/dev/jruby/jruby-1.1RC2/bin/jruby.bat.exe extconf.rb install sqlite3-ruby
‘C:/dev/jruby/jruby-1.1RC2/bin/jruby.bat.exe’ は、内部コマンドまたは外部コマンド

操作可能なプログラムまたはバッチ ファイルとして認識されていません。

Gem files will remain installed in C:/dev/jruby/jruby-1.1RC2/lib/ruby/gems/1.8/g
ems/sqlite3-ruby-1.2.1 for inspection.
Results logged to C:/dev/jruby/jruby-1.1RC2/lib/ruby/gems/1.8/gems/sqlite3-ruby-
1.2.1/ext/sqlite3_api/gem_make.out

ちなみにエラーログの「jruby.bat.exe」というのは確かになくて、「jruby.bat」 なんだよね。じゃあ直接おかしかったコマンドを叩いてあげようと、gems ディレクトリまで移動してバシュっと。

C:\>cd C:\dev\jruby\jruby-1.1RC2\lib\ruby\gems\1.8\gems\sqlite3-ruby-1.2.1\ext\s
qlite3_api

C:\dev\jruby\jruby-1.1RC2\lib\ruby\gems\1.8\gems\sqlite3-ruby-1.2.1\ext\sqlite3_
api>jruby extconf.rb install sqlite3-ruby
extconf.rb:1: no such file to load — mkmf (LoadError)

出ました。mkmf ・・・。JRubyには入ってないので、ピュアRubyからmkmf.rbをコピーして再度、実行する。

 C:\dev\jruby\jruby-1.1RC2\lib\ruby\gems\1.8\gems\sqlite3-ruby-1.2.1\ext\sqlite3_
api>jruby extconf.rb install sqlite3-ruby
C:/dev/jruby/jruby-1.1RC2/lib/ruby/1.8/mkmf.rb:8: uninitialized constant Config:
:MAKEFILE_CONFIG (NameError)
from extconf.rb:1:in `require’
from extconf.rb:1

ごめんなさい。何か大きく遠回りしている気がする。眠いので寝ますZZZ

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン