Ubuntu 11.04にRails 3.0.7をインストール後にやったことメモ

最近はrvmとかでいろんなバージョンのRubyを入れられるみたい。Railsまでのインストールは、他のサイトの方に譲るとして、Railsインストール後にやったことをメモっとく。

MySQLを使いたかったので、MySQL本体と関連するライブラリを入れる

$ sudo apt-get install mysql-server
$ sudo apt-get install libmysqlclient-dev
$ sudo apt-get install libmysql-ruby1.9.1 

以下のコマンドでプロジェクトの作成とDBの作成とサーバまでを一気にやる。

$ rails new rails3_test -d mysql
$ cd rails3_test/
$ bundle install
$ rake db:create
※ ここで失敗する。下記参照
$ rails s

で、http://0.0.0.0:3000 にアクセス、と。

そして、上で書いた失敗を調べてみるとid:wnoguchi さんが解決してくれてました。

http://d.hatena.ne.jp/wnoguchi/20110506/1304664666

今回は、rails3_test/Gemfileというファイルがあるのでこの内容を書き換え、
再度、bundle install; rake db:create と行う。

書き換えた部分は以下の内容。

#こうする
#gem 'mysql2'
gem 'mysql2','<0.3'

追記

なんだか、上のでうまく動いてたんだけど、tiggerさんが動かないよ、というので・・。

$ rake db:createとかこんなエラーがでてるらしい。

rake aborted!
undefined method `task' for #<Rail3Test::Application:0x85f8590>

いろいろ調べてもらって、以下の記述を追加するとうまく動いたらしい。ありがとうございました。

(rails3_test/Rakefileに追加)

# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

require File.expand_path('../config/application', __FILE__)
require 'rake'

# ここから追加(Rails3Testはrails newで作ったRailsのアプリの名前)
# -------------------------------------------------------------------
module ::Rails3Test
  class Application
    include Rake::DSL
  end
end

module ::RakeFileUtils
  extend Rake::FileUtilsExt
end
# -------------------------------------------------------------------
# ここまで

Rails3Test::Application.load_tasks

解決方法のソースはここ。
http://stackoverflow.com/questions/5287121/undefined-method-task-using-rake-0-9-0-beta-4