Rails3でMongoidを使ってみる
0. 環境
- Windows Vista
- Ruby 1.8.7
- Rails 3.0.7
- MongoDB 1.8.1
- bundler 1.0.13
1. 新規アプリケーションの作成
rails new sample -O
- 「-O」(大文字のオー、これで2回やりなおした(´・ω・`))をつけると、config/database.ymlが生成されません。今回はmongoidを使うので、このオプションを使います。
- オプションをつけないと、sqlite3でconfig/database.ymlが作られます。
- 「-d mysql」でmysqlでconfig/database.ymlが作られます。mysqlのところを他のDBに変えれば、柔軟に変更できます。
参考
はじめる!Rails3(1)http://tatsu-zine.com/books/rails3
2. bundlerでmongoidのインストール
- Gemfileを編集します。
# Bundle the extra gems: # gem 'bj' # gem 'nokogiri' # gem 'sqlite3-ruby', :require => 'sqlite3' # gem 'aws-s3', :require => 'aws/s3' gem 'mongoid', '~> 2.0' gem 'bson_ext', '~> 1.3'
- bundlerからmongoidとbson_ext(パフォーマンスを上げるらしい)をvendor/bundleにインストールします。
bundle install vendor/bundle
ここでエラー発生。
$ bundle install vendor/bundle Fetching source index for http://rubygems.org/ Using activesupport (3.0.7) Using builder (2.1.2) Using i18n (0.5.0) Using activemodel (3.0.7) Using bson (1.3.0) Installing bson_ext (1.3.0) c:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/defaults/ operating_system.rb:9: The 'bson_ext' native gem requires installed build tools. (Gem::InstallError) 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' from c:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:141:in `call' from c:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:141:in `install' from c:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:140:in `each' from c:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:140:in `install' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/source.rb:100:in `install' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/installer.rb:58:in `run' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/rubygems_integration.rb:90:in `with_build_args' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/installer.rb:57:in `run' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/spec_set.rb:12:in `each' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/spec_set.rb:12:in `each' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/installer.rb:49:in `run' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/installer.rb:8:in `install' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/cli.rb:222:in `install' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/vendor/thor/task.rb:22:in `send' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/vendor/thor/task.rb:22:in `run' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/vendor/thor.rb:246:in `dispatch' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/lib/bundler/vendor/thor/base.rb:389:in `start' from c:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.13/bin/bundle:13 from c:/Ruby187/bin/bundle:19:in `load' from c:/Ruby187/bin/bundle:19
ここで詰まった\(^o^)/
参考
Mongoid: Installation http://mongoid.org/docs/installation.html