Rails3.0系インストールと起動

バージョン

Ruby
1.8.7
Rails
3.0.7

インストール手順

RVMでRubyとGemをセット
$ rvm use 1.8.7@rails3.0
Railsインストール
$ gem install rails
確認
$ rails -v
Rails 3.0.7

新規Railsアプリ作成

新規作成
$ cd
$ mkdir site
$ cd site
$ rails new test
起動
$ cd test
$ rails s

ここでエラー。

/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/logger.rb:174: private method `chomp' called for nil:NilClass (NoMethodError)
from /home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/activesupport-3.0.7/lib/active_support/core_ext/logger.rb:19:in `require'
from /home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/activesupport-3.0.7/lib/active_support/core_ext/logger.rb:19
from /home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails.rb:7:in `require'
from /home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails.rb:7
from /home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/all.rb:1:in `require'
from /home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/all.rb:1
from /home/atsm/site/test1/config/application.rb:3:in `require'
from /home/atsm/site/test1/config/application.rb:3
from /home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/commands.rb:28:in `require'
from /home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/commands.rb:28
from /home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/commands.rb:27:in `tap'
from /home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/commands.rb:27
from script/rails:6:in `require'
from script/rails:6

を参考に、/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/logger.rb:174 を確認、修正しました。
修正前

173   id, name, rev = %w$Id$
174   ProgName = "#{name.chomp(",v")}/#{rev}"

修正後

173   id, name, rev = %w$Id: logger.rb 22285 2009-02-13 10:19:04Z shyouhei $
174   ProgName = "#{name.chomp(",v")}/#{rev}"

これで rails s もエラーなく起動しました。

$ rails s
=> Booting WEBrick
=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-05-19 10:59:30] INFO  WEBrick 1.3.1
[2011-05-19 10:59:30] INFO  ruby 1.8.7 (2011-02-18) [i686-linux]
[2011-05-19 10:59:35] INFO  WEBrick::HTTPServer#start: pid=3052 port=3000
確認

ブラウザから

ゲストOSから
http://localhost:3000/
ホストOSから
http://ゲストOSのIP:3000/

でアクセス、Welcome aboard みたいなページが出ればOK。

現時点の問題点

  • rails s でサーバ起動時、たまに下記のようなエラーが出る。

ERROR NameError: uninitialized constant ActionController::Base
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/actionpack-3.0.7/lib/action_dispatch/middleware/static.rb:21:in `call'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/application.rb:168:in `call'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/application.rb:77:in `send'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/application.rb:77:in `method_missing'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/rack/log_tailer.rb:14:in `call'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/rack-1.2.2/lib/rack/content_length.rb:13:in `call'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/rack-1.2.2/lib/rack/handler/webrick.rb:52:in `service'
/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/webrick/server.rb:162:in `start'
/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/webrick/server.rb:95:in `start'
/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/webrick/server.rb:92:in `each'
/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/webrick/server.rb:92:in `start'
/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/webrick/server.rb:23:in `start'
/home/atsm/.rvm/rubies/ruby-1.8.7-head/lib/ruby/1.8/webrick/server.rb:82:in `start'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/rack-1.2.2/lib/rack/handler/webrick.rb:13:in `run'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/rack-1.2.2/lib/rack/server.rb:213:in `start'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/commands/server.rb:65:in `start'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/commands.rb:30
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/commands.rb:27:in `tap'
/home/atsm/.rvm/gems/ruby-1.8.7-head@rails3.0/gems/railties-3.0.7/lib/rails/commands.rb:27
script/rails:6:in `require'
script/rails:6

  • ホストOSからアクセスすると、ページが見れないわけではないがものすごく遅い。
    • ゲストOSからアクセスすると遅くない。

なんでやろなあ。後で調べよう。