Railsを始めて一番最初にハマったこと

[tester@localhost]~% rails rails
/usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator/options.rb:32:in `default_options': undefined method 
`write_inheritable_attribute' for Rails::Generator::Base:Class (NoMethodError)
        from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator/base.rb:90:in `<class:Base>'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator/base.rb:85:in `<module:Generator>'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator/base.rb:48:in `<module:Rails>'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator/base.rb:6:in `<top (required)>'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator.rb:34:in `require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/lib/rails_generator.rb:34:in `<top (required)>'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/bin/rails:14:in `require'
        from /usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.4/bin/rails:14:in `<top (required)>'
        from /usr/local/bin/rails:19:in `load'
        from /usr/local/bin/rails:19:in `<main>'
[tester@localhost]~% 

!?
調べたらirbactivesupportをrequireしてみろとのことだったのでやる。

[tester@localhost]~% irb
irb(main):001:0> require 'activesupport'
LoadError: no such file to load -- activesupport
        from (irb):2:in `require'
        from (irb):2
        from /usr/local/bin/irb:12:in `<main>'
irb(main):002:0> 

oh...

原因

[tester@localhost]~% gem install rails

これによって、ユーザディレクトリ配下の.gemディレクトリに諸々がインストールされてしまっていた。
これではrequireにパスが明示されていない限り読めない。

解決方法

[tester@localhost]~% sudo gem uninstall actionmailer actionpack activerecord activeresource activesupport rack rails
#アンインストール中いろいろ流れる
[tester@localhost]~% sudo gem install rails

幸福実現

[tester@localhost]~% rails rails
      create  
      create  app/controllers
            ・
            ・
            ・
      create  log/test.log
[tester@localhost]~%