自分には 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_apiC:\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
Recent Comments