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