以前 gem update を行った際に、2.0.2.9216 というバージョンがインストールされたのですが、よくわからないまま使っていました。
そもそも2.0.2.9126がなぜインストールされるのか
家のマックと会社のVistaには 2.0.2.9216 がインストールされているのですが、レンタルサーバで gem search をしても、2.0.2.9216は見つからなかったりします。これは単純に見ているレポジトリが異なるためです。
1 2 3 4 5 6 7 8 9 10 11 12 | # gem environment <中略> - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - :sources => ["http://gems.rubyforge.org", "http://gems.rubyonrails.org"] - REMOTE SOURCES: - http://gems.rubyforge.org - http://gems.rubyonrails.org |
上記のようにVista上のInstant Railsからgem environment で設定情報を見ると、9行目と12行目に書いてある通り、http://gem.rubyonrails.org がリモートソースとして指定されています。これによって、最新版である 2.0.2.9216 がインストールされるんですね。
もし2.0.2.9216のようなバージョンを入れたくなければ、これを消しておけばよいかと思います。逆に 2.0.2.9216 を試してみたい方は、下記のようにソースを rubyonrails.org に指定しておけば大丈夫です。
gem update rails --source http://gems.rubyonrails.org/
undefined method `time_zone=’ と怒られる
2.0.2.9216の環境で、railsプロジェクトを作成すると、起動時に下記のようなエラーで怒られます。
undefined method `time_zone='これはedge railsで追加された機能で、2.0.2には存在しません。environment.rb でバージョン指定を 2.0.2 から 2.0.2.9216 へ変更すれば動くはずです。
RAILS_GEM_VERSION = '2.0.2.9216' unless defined? RAILS_GEM_VERSION

