最近この本でRubyの勉強をしている。
RubyのVersionは1.9.3。この本の中の「Rubyでデータベースを利用しよう」の章で
gem install sqlite3-ruby
を実行すると、以下のエラーが発生。
ERROR: Could not find a valid gem ‘bundler’ (>= 0), here is why:
Unable to download data from http://rubygems.org/ – no such name (http://api.rubygems.org/latest_specs.4.8.gz)
ググるとネットワークの設定に問題がありそう。とりあえず本に書いてある内容はサラッと終わらせたい。そうだ、localでインストールしよう!ということで、ネット自体にはつながるので、以下のgemをhttps://rubygems.org/から直接ダウンロード。(gemの名前でググれば、上の方にRubygems.orgのサイトがでてくる)
dbd-sqlite3-1.2.5.gem
dbi-0.4.5.gem
sqlite3-ruby-1.3.3.gem
versionの組み合わせによっては動作しないこともあるらしいので、本と同じversionをダウンロードした。gemを置いてあるフォルダに移動し–localオプションをつけて本の順番通りにインストール。
gem install –local sqlite3-ruby
・・・しようとしたら以下のErrorが発生。
ERROR: Error installing sqlite3-ruby:
The ‘sqlite3’ native gem requires installed build tools.
Please update your PATH to include build tools or download the DevKit
from ‘http://rubyinstaller.org/downloads’ and follow the instructions
at ‘http://github.com/oneclick/rubyinstaller/wiki/Development-Kit’
エラーメッセージの指示通り、http://rubyinstaller.org/downloadsから、DevKit-tdm-32-4.5.2-20111229-1559-sfx.exeをダウンロード。http://github.com/oneclick/rubyinstaller/wiki/Development-Kitの「Quick Start」読みインストール。インストール後再チャレンジ。
gem install –local sqlite3-ruby
ちょっと進んだ感があるが、次のようなErrorが出る。
ERROR: Error installing sqlite3:
ERROR: Failed to build gem native extension.
C:/Ruby193/bin/ruby.exe extconf.rb
checking for sqlite3.h… no
sqlite3.h is missing. Install SQLite3 from http://www.sqlite.org/ first.
こちらで解決法発見。まずSQLiteのダウンロードページから以下の2つをダウンロード。
sqlite-amalgamation-3081101.zip
sqlite-dll-win32-x86-3081101.zip
解凍して、両方の中身を C:/sqlite3 というフォルダに置き、以下のoptionをつけて再々チャレンジ。
gem install sqlite3-ruby –local — –with-sqlite3-include=C:/sqlite3 –with-sqlite3-lib=C:/sqlite3
ちなみに途中に「–」だけ入れているのは、これ以降はbuildのオプションですよ、という意味らしい。その結果・・・
Successfully installed sqlite3-1.3.10
Successfully installed sqlite3-ruby-1.3.3
2 gems installed
Installing ri documentation for sqlite3-1.3.10…
Installing ri documentation for sqlite3-ruby-1.3.3…
Installing RDoc documentation for sqlite3-1.3.10…
Installing RDoc documentation for sqlite3-ruby-1.3.3…
できた!