前回記事の続き。Railsコマンドで自動生成されたディレクトリーの下を調べていたら、ログを発見!問題の原因が書かれている。
ファイル: myapp\log\development.log
/!\ FAILSAFE /!\ Sun Jun 28 17:00:50 +0800 2009
Status: 500 Internal Server Error
no such file to load -- sqlite3
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in `new_constants_in'
c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in `require'
...(中略)...
c:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'
c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.2/lib/action_controller/vendor/rack-1.0/rack/handler/webrick.rb:13:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:111
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
script/server:3
sqlite3 のロードに失敗しているようである。そこで、sqlite3のRubyモジュールをインストールしてみる。
C:\>gem install sqlite3-ruby
Building native extensions. This could take a while...
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.
c:/ruby/bin/ruby.exe extconf.rb
checking for fdatasync() in rt.lib... no
checking for sqlite3.h... no
nmake
'nmake' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
Gem files will remain installed in c:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4 for inspection.
Results logged to c:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_api/gem_make.out
しかし、またもやエラー・・・。調べると最新バージョンはWindows版がないようなので、古いバージョンを指定して導入しなければならない。下記のようにひとつ前のバージョンを指定してみた。すると、うまくいった。
C:\>gem install sqlite3-ruby --version '= 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...
そこでもう一回、http://localhost:3000/first/page にアクセス。しかし、今度はDLLがないというエラーが。
確かにsqlite3をインストールするのを忘れていた。sqlite3.dll をここからダウンロードして、C:\Windows\system32\に配置してみた。
再度、http://localhost:3000/first/page にアクセスすると、ようやく成功。
思ったより長い道のりでした。慣れるまでもう少し時間がかかりそう。

